extensions extensiones extension crear complemento javascript firefox firefox-addon xul

javascript - extensiones - .setAttribute("disabled", false); cambia el atributo editable a falso



mozilla js extension (6)

Intenta hacer esto en su lugar:

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

Para habilitar un elemento, debes eliminar el atributo deshabilitado. Establecerlo en falso todavía significa que está deshabilitado.

http://jsfiddle.net/SRK2c/

Quiero tener cuadros de texto relacionados con botones de radio. Por lo tanto, cada botón de radio debería habilitar su cuadro de texto y desactivar los demás. Sin embargo, cuando configuro el atributo disabled de textbox en true, también cambia el atributo editable. Intenté volver a configurar el atributo editable true pero no funcionó.

Esto fue lo que intenté:

Función JS:

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

Elementos XUL:

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


Simplemente configure la propiedad directamente:.

eleman.disabled = false;


Usar el conjunto de métodos y eliminar el atributo

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>


el valor de los atributos deshabilitados no se considera acidentalmente ... por lo general, si ha notado que el atributo está configurado como deshabilitado = "deshabilitado", la opción "deshabilitado" no es necesario persay .. por lo tanto, lo mejor es eliminar el atributo.

element.removeAttribute("disabled");

también podrías hacer

element.disabled=false;


simplemente reemplace ''myselect'' con su identificación

deshabilitar->

document.getElementById("mySelect").disabled = true;

para habilitar->

document.getElementById("mySelect").disabled = false;


un elemento disabled está, (autoexplicativo) deshabilitado y, por lo tanto, lógicamente no editable. asi que:

establecer el atributo deshabilitado [...] también cambia el atributo editable

tiene la intención de un comportamiento bien definido.

el verdadero problema aquí parece ser que intentas disabled a false través de setAttribute() que no hace lo que estás esperando. un elemento está deshabilitado si el atributo disabled -attribute está establecido, independientemente de su valor (por lo tanto, disabled="true" , disabled="disabled" y disabled="false" todos hacen lo mismo: el elemento se desactiva). en su lugar, debes eliminar el atributo completo:

element.removeAttribute("disabled");

o establecer esa propiedad directamente:

element.disabled = false;