173 votes

Quelle est la valeur correcte de l'attribut "disabled" ?

Quelle est la valeur correcte pour le disabled pour une zone de texte ou une zone de texte ?

J'ai déjà vu la formule suivante utilisée auparavant :

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

0 votes

Le lien que j'ai posté en commentaire de la réponse de js1568 confirme/clarifie ce que @Marc B dit : whatwg.org/specs/web-apps/current-work/multipage/

0 votes

Duplication possible de stackoverflow.com/questions/1033944/ parce que les deux sont des attributs booléens (non marqués).

0voto

Starboy Points 71

Tiré de MDN par setAttribute() :

Pour définir la valeur d'un attribut booléen, tel que désactivé vous pouvez spécifier n'importe quelle valeur. Une chaîne vide ou le nom de l'attribut sont des valeurs recommandées. Tout ce qui compte, c'est que l'attribut soit présent, quelle que soit sa valeur réelle sa valeur est considérée comme étant vrai . L'absence de l'attribut signifie que sa valeur est faux . En fixant la valeur du désactivé à la chaîne vide ( "" ), nous mettons désactivé a vrai ce qui a pour effet de désactiver le bouton.

Lien vers le MDN

Solución

  • Je veux dire que dans XHTML Strict est juste désactivé="désactivé" ,
  • et en HTML5 est seulement désactivé comme <input name="myinput" disabled>
  • Sur javascript , I régler la valeur sur vrai via e.disabled = true ;
    ou à "" via setAttribute("disabled", "" ) ;

Test dans Chrome

var f = document.querySelectorAll( "label.disabled input" );
for( var i = 0; i < f.length; i++ )
{
    // Reference
    var e = f[ i ];

    // Actions
    e.setAttribute( "disabled", false|null|undefined|""|0|"disabled" );
    /*
        <input disabled="false"|"null"|"undefined"|empty|"0"|"disabled">
        e.getAttribute( "disabled" ) === "false"|"null"|"undefined"|""|"0"|"disabled"
        e.disabled === true
    */

    e.removeAttribute( "disabled" );
    /*
        <input>
        e.getAttribute( "disabled" ) === null
        e.disabled === false
    */

    e.disabled = false|null|undefined|""|0;
    /*
        <input>
        e.getAttribute( "disabled" ) === null|null|null|null|null
        e.disabled === false
    */

    e.disabled = true|" "|"disabled"|1;
    /*
        <input disabled>
        e.getAttribute( "disabled" ) === ""|""|""|""
        e.disabled === true
    */
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X