Comment puis-je supprimer l'attribut "désactivé" d'une entrée HTML à l'aide de javascript?
<input id="edit" disabled>
sur onClick, je veux que ma balise d'entrée ne soit pas constituée d'un attribut "désactivé".
Comment puis-je supprimer l'attribut "désactivé" d'une entrée HTML à l'aide de javascript?
<input id="edit" disabled>
sur onClick, je veux que ma balise d'entrée ne soit pas constituée d'un attribut "désactivé".
Réponses:
Définissez la disabled
propriété de l'élément sur false:
document.getElementById('my-input-id').disabled = false;
Si vous utilisez jQuery, l'équivalent serait:
$('#my-input-id').prop('disabled', false);
Pour plusieurs champs de saisie, vous pouvez y accéder par classe à la place:
var inputs = document.getElementsByClassName('my-input-class');
for(var i = 0; i < inputs.length; i++) {
inputs[i].disabled = false;
}
Où document
pourrait être remplacé par un formulaire, par exemple, pour ne trouver que les éléments à l'intérieur de ce formulaire. Vous pouvez également utiliser getElementsByTagName('input')
pour obtenir tous les éléments d'entrée. Dans votre for
itération, vous devrez ensuite vérifier cela inputs[i].type == 'text'
.
Pourquoi ne pas simplement supprimer cet attribut?
elem.removeAttribute('disabled')
elem.removeAttr('disabled')
jQuery("#success").removeAttr("disabled");
- cela fonctionne pour moi, merci!
removeAttribute
semble être pris en charge dans IE11. Il est marqué comme unknown
sur puis-je utiliser, alors j'ai juste ouvert IE et vérifié si cela fonctionne. Cela fait.
Pour définir le disabled
sur false à l'aide de la name
propriété de l'entrée:
document.myForm.myInputName.disabled = false;
La meilleure réponse est simplement de supprimer l'attribut
element.removeAttribute("disabled");
method 1 <input type="text" onclick="this.disabled=false;" disabled>
<hr>
method 2 <input type="text" onclick="this.removeAttribute('disabled');" disabled>
<hr>
method 3 <input type="text" onclick="this.removeAttribute('readonly');" readonly>
le code des réponses précédentes ne semble pas fonctionner en mode en ligne, mais il existe une solution de contournement: méthode 3.
voir la démo https://jsfiddle.net/eliz82/xqzccdfg/
method 1 <input type="text" onclick="this.disabled=false;" disabled> <hr> method 2 <input type="text" onclick="this.removeAttribute('disabled');" disabled>