Какое правильное значение для атрибута disabled
для текстового поля или текстового поля?
Я видел следующее:
<input type="text" disabled />
<input type="text" disabled="disabled" />
<input type="text" disabled="true" />
Какое правильное значение для атрибута disabled
для текстового поля или текстового поля?
Я видел следующее:
<input type="text" disabled />
<input type="text" disabled="disabled" />
<input type="text" disabled="true" />
<input type="text" disabled="disabled" />
является допустимой разметкой.<input type="text" disabled />
действителен и используется W3C на своих образцах.Спецификация HTML5:
http://www.w3.org/TR/html5/forms.html#enabling-and-disabling-form-controls:-the-disabled-attribute:
Проверенный атрибут контента является логическим атрибутом
http://www.w3.org/TR/html5/infrastructure.html#boolean-attributes:
Наличие логического атрибута для элемента представляет истинное значение, а отсутствие атрибута представляет ложное значение.
Если атрибут присутствует, его значение должно быть либо пустой строкой, либо значением, которое не соответствует значению ASCII для канонического имени атрибута, без начального или конечного пробела.
Заключение
Ниже приведены действительные, эквивалентные и истинные:
<input type="text" disabled />
<input type="text" disabled="" />
<input type="text" disabled="disabled" />
<input type="text" disabled="DiSaBlEd" />
Ниже приведены недействительные:
<input type="text" disabled="0" />
<input type="text" disabled="1" />
<input type="text" disabled="false" />
<input type="text" disabled="true" />
Отсутствие атрибута является единственным допустимым синтаксисом для false:
<input type="text" />
Рекомендация
Если вы хотите написать действительный XHTML, используйте disabled="disabled"
, так как <input disabled>
является недопустимым, а другие альтернативы менее читабельны. Иначе просто используйте <input disabled>
, поскольку он короче.
Я просто попробовал все это, и для IE11 единственное, что работает, отключено = "true". Значения отключенного или отсутствующего значения не работали. На самом деле, jsp получил ошибку, равную для всех полей, поэтому мне пришлось указать disabled = "true", чтобы это работало.
В HTML5 нет правильного значения, все основные браузеры действительно не заботятся о том, что такое атрибут, они просто проверяют, существует ли атрибут, чтобы элемент был отключен.