Яке правильне значення є 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" />
Відсутність атрибута - єдиний допустимий синтаксис для помилки :
<input type="text" />
Рекомендація
Якщо ви дбаєте про те, щоб написати дійсний XHTML, використовуйте disabled="disabled"
, оскільки <input disabled>
він недійсний, а інші альтернативи менш читаються. Інше, просто використовувати, <input disabled>
як це коротше.
ng-disabled
замість. Аналогічно з іншими подібними атрибутами, як правило, у них є розумний ng-*
аналог
disabled={true}
працює в JSX-коді reactJs, але я впевнений, що він буде перекладений лише на один з дійсних / дозволених форматів HTML5.
Я просто спробував усе це, і для IE11 єдине, що, здається, працює - це відключено = "true". Значення вимкнено або не мають значення, що не працювало. Власне, jsp отримав помилку, рівну для всіх полів, тому мені довелося вказати disabled = "true", щоб це працювало.
disabled="false"
все одно буде відключений елемент, тому що саме ПРИСТАННЯdisabled
викликає відключення , а не значення атрибута.