Comment puis-je supprimer l'attribut "disabled" d'une entrée HTML à l'aide de javascript?
<input id="edit" disabled>
at onClick Je veux que ma balise d’entrée ne soit pas composée d’un attribut "disabled".
Définissez la propriété disabled
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:
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 rechercher uniquement les éléments à l'intérieur de ce formulaire. Vous pouvez également utiliser getElementsByTagName('input')
pour obtenir tous les éléments en entrée. Dans votre itération for
, vous devrez alors vérifier que inputs[i].type == 'text'
.
Pourquoi ne pas simplement supprimer cet attribut?
elem.removeAttribute('disabled')
elem.removeAttr('disabled')
Pour définir la valeur disabled
sur false à l'aide de la propriété name
de l'entrée:
document.myForm.myInputName.disabled = false;
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/