После установки <input disabled> теряется value

Тема в разделе "JavaScript", создана пользователем sasha_ua, 17 апр 2014.

Модераторы: ZiX
  1. sasha_ua

    sasha_ua Постоялец

    Регистр.:
    23 июн 2010
    Сообщения:
    66
    Симпатии:
    0
    Здравствуйте

    Вот код
    http://jsfiddle.net/sashaua/prEHC/

    1. Откройте в Chrom
    2. Введите в поле три слова
    3. После третьего имени input подсветится, заблокируется и выведет value

    1. Откройте в IE/FF/Safari
    2. Введите в поле три слова
    3. После третьего имени input подсветится, заблокируется и НЕ выведет value

    Не пойму глюк это особенность браузеров или я налажал в коде?
     
  2. Sorcus

    Sorcus Sorcus. A New Beginning.

    Moderator
    Регистр.:
    10 июл 2011
    Сообщения:
    300
    Симпатии:
    588
    Firefox 26.0 ввожу 3 слова, поле блокируется и выводит все...
     
  3. worldx

    worldx Создатель

    Регистр.:
    12 май 2008
    Сообщения:
    20
    Симпатии:
    2
    У меня в FF все нормально...
    ps Если прочитать спецификацию, то может не работать, так как после disable не должно передаться значение на сервер. Лучше использовать readonly.
     
  4. alffcpu

    alffcpu Создатель

    Регистр.:
    23 окт 2013
    Сообщения:
    22
    Симпатии:
    56
    Здравствуйте,

    Если сделать поле disable, то оно значение передавать не будеть. readonly="readonly" поидее для этого.

    Ну а вообще можете сделать onfocus="this.blur()"
     
  5. sasha_ua

    sasha_ua Постоялец

    Регистр.:
    23 июн 2010
    Сообщения:
    66
    Симпатии:
    0
    Отправил коллеге у него тоже все хорошо, вечно у меня комп жжот)
    Попробую этот вариант.

    Вообще цель, после ввода n-ного числа записей технично выключить поле и кнопку, я подозреваю что я это сделал по говнокодерски..
     
  6. worldx

    worldx Создатель

    Регистр.:
    12 май 2008
    Сообщения:
    20
    Симпатии:
    2
    Я бы написал так, что бы наверняка:
    if(personCounter==maxCounter-1) {
    nameInput.style.background = "#fcdb9a";
    nameInput.style.color = "#000";
    nameInput.readOnly = true;
    }
     
  7. codeator

    codeator Постоялец

    Регистр.:
    18 май 2013
    Сообщения:
    53
    Симпатии:
    14
    Если бы мне нужно было дизеблить инпут - то я бы один скрывал жаваскриптом, а второй ( фейк задизэбленный без имени ) показывал.