web-dev-qa-db-fra.com

Quelle est la valeur correcte pour l'attribut disabled?

Quelle est la valeur correcte pour l'attribut disabled pour une zone de texte ou une zone de texte?

J'ai déjà utilisé ce qui suit:

<input type="text" disabled />
<input type="text" disabled="disabled" />
<input type="text" disabled="true" />
148
tskuzzy
  • Pour XHTML, <input type="text" disabled="disabled" /> est le balisage valide.
  • Pour HTML5, <input type="text" disabled /> est valide et utilisé par W3C sur leurs exemples.
  • En fait, les deux méthodes fonctionnent sur tous les principaux navigateurs.
139
Erick Petrucelli

Spéc. HTML5:

http://www.w3.org/TR/html5/forms.html#enabling-and-disabling-form-controls:-the-disabled-attribute :

L'attribut de contenu vérifié est un attribut booléen

http://www.w3.org/TR/html5/infrastructure.html#boolean-attributes :

La présence d'un attribut booléen sur un élément représente la valeur vraie et l'absence de l'attribut représente la valeur fausse.

Si l'attribut est présent, sa valeur doit correspondre à la chaîne vide ou à une correspondance ASCII sans distinction de casse pour le nom canonique de l'attribut, sans espace blanc de début ou de fin.

Conclusion:

Les éléments suivants sont valide, équivalent et vrai:

<input type="text" disabled />
<input type="text" disabled="" />
<input type="text" disabled="disabled" />
<input type="text" disabled="DiSaBlEd" />

Invalid sont les suivants:

<input type="text" disabled="0" />
<input type="text" disabled="1" />
<input type="text" disabled="false" />
<input type="text" disabled="true" />

L'absence de l'attribut est la seule syntaxe valide pour false:

<input type="text" />

Recommandation

Si vous vous souciez d'écrire du XHTML valide, utilisez disabled="disabled", puisque <input disabled> n'est pas valide et que les autres alternatives sont moins lisibles. Sinon, utilisez simplement <input disabled> car il est plus court.

Je viens d'essayer tout cela, et pour IE11, la seule chose qui semble fonctionner est disabled = "true". Les valeurs de désactivé ou aucune valeur donnée ne fonctionnaient pas. En fait, jsp a reçu une erreur qui est égale pour tous les champs. J'ai donc dû spécifier disabled = "true" pour que cela fonctionne.

1
Edmond ME

En HTML5, il n'y a pas de valeur correcte, tous les principaux navigateurs ne se soucient pas vraiment de l'attribut, ils vérifient simplement si l'attribut existe afin que l'élément soit désactivé.

0
MadsHaupt