Activer/désactiver un bouton en javascript
Je veux activer/désactiver un bouton sans jquery. Voici mon code:
btn.setAttribute("disabled", true);
Œuvres. Mais ce n'est pas -- un bouton est désactivé:
btn.setAttribute("disabled", false);
- Double Possible de javascript supprimer "désactivé" attribut d'entrée html
Vous devez vous connecter pour publier un commentaire.
désactivé
est un attribut Booléen, la simple présence de causes de l'élément à être désactivés, indépendamment de ce que la valeur de cet attribut est en réalité. C'est pourquoi vous êtes en mesure de désactiver l'élément en JavaScript en définissant l'attribut detrue
, vous pouvez le définir à quoi que ce soit (et c'est la raison pour laquelle lorsque vous le réglez àfalse
il reste désactivé).HTML:
Dans le code HTML, vous n'avez même pas besoin de définir une valeur pour l'attribut:
HTML:
Toutefois recommandé de convention avec les attributs Booléens (si vous ne souhaitez fournir une valeur pour l'attribut), de sorte que nous pouvons avoir une certaine cohérence entre les développeurs, est à définir leur égal à la valeur du nom de l'attribut lui-même. Donc, pour désactiver un élément en JavaScript, les conventions suivantes sont recommandées:
Par conséquent, pour permettre un élément, vous ne définissez pas la
disabled
attribut à une valeur quelconque, parce que, comme nous l'avons vu, ce sera juste désactivé, vous devez supprimer ledisabled
attribut complètement:JS:
HTML:
Maintenant, lorsque vous travaillez avec des objets DOM en JavaScript, il y a deux façons d'affecter l'état actuel d'un élément et il est important de comprendre les effets du travail avec ces deux techniques:
setAttribute()
,removeAttribute()
, etgetAttribute()
).Le plus important, le propriété valeur peut être différente de la attribut valeur. Cela peut être déroutant, mais le code HTML de l'état est ce que l'élément ressemble de l'extérieur et de la propriété de l'état est ce qui se passe vraiment à l'intérieur, comme vous pouvez en mettre un visage heureux sur de sorte que les gens qui vous regarde, vous pensez que votre heureux (le code HTML de l'état), mais vous pourriez effectivement être triste pour de vrai (la propriété de l'état).
Lorsque la propriété de l'état n'a pas été défini, l'attribut de l'état est tout ce qui compte et aura un contrôle total sur l'état de l'élément. Lorsque la propriété d'état est défini, il remplace ce que l'attribut de l'état et des contrôles de l'état réel de l'élément.
JS:
HTML:
De MDN:
JS:
HTML:
Ce qui est parfaitement valide et fonctionne comme vous le souhaitez - à-d. ne pas désactiver l'élément lorsque la valeur vrai que l'on a accepté de répondre suggère.