100 votes

.setAttribute("désactivé", false); change l'attribut modifiable en false

Je veux avoir des zones de texte liées aux boutons radio. Par conséquent, chaque bouton radio doit activer sa zone de texte et désactiver les autres. Cependant, lorsque je définis l'attribut désactivé de la zone de texte sur true, cela modifie également l'attribut modifiable. J'ai à nouveau essayé de définir l'attribut modifiable sur true, mais cela n'a pas fonctionné.

C'est ce que j'ai essayé :

Fonction JS :

 function enable(id)
{
    var eleman = document.getElementById(id);
    eleman.setAttribute("disabled", false);
    eleman.setAttribute("editable", true);
}

Éléments XUL :

 <radio id="pno" label="123" onclick="enable('ad')" />
<textbox id="ad" editable="true"  disabled="true" flex="1" emptytext="asd" onkeypress="asd(event)" tooltiptext="" >

17voto

RobG Points 41170

Il suffit de définir la propriété directement : .

 eleman.disabled = false;

12voto

antelove Points 617

Utilisation de la méthode définie et de l' attribut remove

 function radioButton(o) {

  var text = document.querySelector("textarea");

  if (o.value == "on") {
    text.removeAttribute("disabled", "");
    text.setAttribute("enabled", "");
  } else {
    text.removeAttribute("enabled", "");
    text.setAttribute("disabled", "");
  }
  
}
 <input type="radio" name="radioButton" value="on" onclick = "radioButton(this)" />Enable
<input type="radio" name="radioButton" value="off" onclick = "radioButton(this)" />Disabled<hr/>

<textarea disabled ></textarea>

11voto

Richard Dalton Points 20402

Essayez de faire ceci à la place :

 function enable(id)
{
    var eleman = document.getElementById(id);
    eleman.removeAttribute("disabled");        
}

Pour activer un élément, vous devez supprimer l'attribut disabled. Le définir sur false signifie toujours qu'il est désactivé.

http://jsfiddle.net/SRK2c/

5voto

Baz1nga Points 10252

la valeur des attributs désactivés n'est en fait pas prise en compte. Généralement, si vous avez remarqué que l'attribut est défini sur disabled="disabled", le "disabled" n'est pas nécessaire ici. Par conséquent, la meilleure chose à faire est de supprimer l'attribut.

 element.removeAttribute("disabled");     

tu peux aussi faire

 element.disabled=false;

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