Was ist der korrekte Wert für das disabled
-Attribut für ein Textfeld oder einen Textbereich?
Ich habe das Folgende schon mal gesehen:
<input type="text" disabled />
<input type="text" disabled="disabled" />
<input type="text" disabled="true" />
<input type="text" disabled="disabled" />
das gültige Markup.<input type="text" disabled />
gültig und wird von W3C in ihren Beispielen verwendet.HTML5-Spezifikation:
http://www.w3.org/TR/html5/forms.html#enabling-and-disabling-form-controls:-the-disabled-attribute :
Das geprüfte Inhaltsattribut ist ein boolesches Attribut
http://www.w3.org/TR/html5/infrastructure.html#boolean-attributes :
Das Vorhandensein eines booleschen Attributs in einem Element repräsentiert den wahren Wert, und das Fehlen des Attributs repräsentiert den falschen Wert.
Wenn das Attribut vorhanden ist, muss sein Wert entweder die leere Zeichenfolge oder ein Wert sein, bei dem es sich um eine Übereinstimmung zwischen ASCII und dem kanonischen Namen des Attributs handelt.
Fazit:
Folgende sind gültig, gleichwertig und wahr:
<input type="text" disabled />
<input type="text" disabled="" />
<input type="text" disabled="disabled" />
<input type="text" disabled="DiSaBlEd" />
Folgendes ist invalid:
<input type="text" disabled="0" />
<input type="text" disabled="1" />
<input type="text" disabled="false" />
<input type="text" disabled="true" />
Das Fehlen des Attributs ist die einzige gültige Syntax für false:
<input type="text" />
Empfehlung
Wenn Sie gültiges XHTML schreiben möchten, verwenden Sie disabled="disabled"
, da <input disabled>
ungültig ist und andere Alternativen weniger lesbar sind. Ansonsten verwenden Sie einfach <input disabled>
, da es kürzer ist.
Ich habe gerade alles ausprobiert, und für IE11 scheint das einzige, was zu funktionieren scheint, disabled = "true". Werte für deaktiviert oder kein angegebener Wert funktionierte nicht. Tatsächlich hat der JSP einen Fehler erhalten, der für alle Felder gleich ist. Daher musste ich disabled = "true" angeben, damit dies funktioniert.
In HTML5 gibt es keinen korrekten Wert. Alle großen Browser interessieren sich nicht wirklich für das Attribut. Sie prüfen lediglich, ob das Attribut vorhanden ist, sodass das Element deaktiviert ist.