webentwicklung-frage-antwort-db.com.de

Was ist der korrekte Wert für das deaktivierte Attribut?

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" />
148
tskuzzy
  • Für XHTML ist <input type="text" disabled="disabled" /> das gültige Markup.
  • Für HTML5 ist <input type="text" disabled /> gültig und wird von W3C in ihren Beispielen verwendet.
  • In der Tat funktionieren beide Arten auf allen gängigen Browsern.
139

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.

1
Edmond ME

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.

0
MadsHaupt