Was ist der richtige Wert für das disabled
Attribut für ein Textfeld oder einen Textbereich?
Ich habe Folgendes bereits gesehen:
<input type="text" disabled />
<input type="text" disabled="disabled" />
<input type="text" disabled="true" />
Was ist der richtige Wert für das disabled
Attribut für ein Textfeld oder einen Textbereich?
Ich habe Folgendes bereits gesehen:
<input type="text" disabled />
<input type="text" disabled="disabled" />
<input type="text" disabled="true" />
Antworten:
<input type="text" disabled="disabled" />
ist das gültige Markup.<input type="text" disabled />
ist gültig und wird von W3C für ihre Beispiele 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 für ein 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 der kanonische Name des Attributs nicht zwischen Groß- und Kleinschreibung unterschieden wird, ohne führende oder nachfolgende Leerzeichen.
Fazit :
Folgendes ist 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 ungültig :
<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 einzig 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>
es ungültig ist und andere Alternativen weniger lesbar sind. Andernfalls verwenden <input disabled>
Sie es einfach, da es kürzer ist.
ng-disabled
stattdessen verwenden. Ähnlich wie bei anderen Attributen wie diesen haben sie im Allgemeinen ein intelligentes ng-*
Gegenstück
disabled={true}
funktioniert in reagJs JSX-Code, aber ich bin sicher, dass er nur in eines der gültigen / erlaubten HTML5-Formate transpiliert wird.
Ich habe gerade all dies ausprobiert, und für IE11 scheint das einzige, was zu funktionieren scheint, deaktiviert = "wahr" zu sein. Werte für deaktiviert oder kein Wert angegeben hat nicht funktioniert. Tatsächlich hat der JSP einen Fehler erhalten, der für alle Felder gleich ist. Daher musste ich disabled = "true" angeben, damit dies funktioniert.
disabled="false"
würde das Element immer noch deaktivieren, da es die PRÄSENZ istdisabled
, die die Deaktivierung auslöst, nicht der Wert des Attributs.