Comment faire pour activer une case à cocher désactivée de façon dynamique?
Veuillez voir ici:
http://jsfiddle.net/nShQs/
Appuyez sur le bouton désactiver puis activer le bouton. La case à cocher n'est pas activé.
HTML:
<input id="check" type="checkbox"/>
<input id="btn1" type="button" value="enable" />
<input id="btn2" type="button" value="disable" />
JS:
function enable() {
var x = document.getElementById("check");
alert(x.getAttribute("disabled"));
x.setAttribute("disabled", "false");
alert(x.getAttribute("disabled"));
}
function disable() {
var x = document.getElementById("check");
alert(x.getAttribute("disabled"));
x.setAttribute("disabled", "true");
alert(x.getAttribute("disabled"));
}
document.getElementById("btn1").addEventListener("click", enable);
document.getElementById("btn2").addEventListener("click", disable);
réponse
Que les réponses dites, c'est parce que la disabled
attribut est un attribut booléen.
Voir ici.
J'ai choisi de PSL de la réponse, car il a répondu à la 1ère.
OriginalL'auteur batman | 2013-07-11
Vous devez vous connecter pour publier un commentaire.
Il suffit de ne
Avec cela, vous êtes en définissant la propriété de l'élément DOM, alors que la valeur de l'attribut présence de l'attribut
disabled
va désactiver la case à cocher, de sorte que même si vous nex.setAttribute("disabled", "false");
qu'il sera toujours là sur l'élément comme attribut.Démo
ou vous faites juste:
disabled
comme attribut etdisabled
que les biens sont différents.vous avez utilisé comme un functoin, il n'est pas un
Non, c'est commun, surtout pour ce genre de propriété booléenne valeurs, je vais trouver un lien pour vous pour refernce, la diff entre attr et propriétés
certains autres attributs (comme
readonly
) fonctionnent de la même manière. C'est un peu inattendu et vous allez tomber sur ces choses, surtout par accident. Cela dit, si vous vous en tenez aux propriétés correspondantes ils abstraction de l'étrange attribut de mise en œuvre.lire le dernier article: developer.mozilla.org/en-US/docs/Web/HTML/Attributes
OriginalL'auteur PSL
Définir la
disabled
propriété plutôt que de la attribut (violon).Un contrôle restera désactivé si le
disabled
attribut est présent à tous les - quelle que soit sa valeur (violon). Réglage de ladisabled
propriété àfalse
va supprimer ledisabled
attribut.OriginalL'auteur canon
Il fonctionne,
http://jsfiddle.net/maximos/89wxX/1/
OriginalL'auteur maximus ツ