146 votes

javascript supprime l'attribut "disabled" de l'entrée html

Comment supprimer l'attribut "disabled" d'une entrée HTML en utilisant le javascript ?

<input id="edit" disabled>

à onClick, je veux que ma balise d'entrée ne comporte pas l'attribut "disabled".

270voto

David Hedlund Points 66192

Définir la valeur de l'élément disabled à 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 plutôt y accéder par classe :

var inputs = document.getElementsByClassName('my-input-class');
for(var i = 0; i < inputs.length; i++) {
    inputs[i].disabled = false;
}

document pourrait être remplacé par un formulaire, par exemple, pour ne trouver que les éléments contenus dans ce formulaire. Vous pouvez également utiliser getElementsByTagName('input') pour obtenir tous les éléments d'entrée. Dans votre for il faudrait alors vérifier que inputs[i].type == 'text' .

55voto

Dragos Rusu Points 26

Pourquoi ne pas simplement supprimer cet attribut ?

  1. vanille JS : elem.removeAttribute('disabled')
  2. jQuery : elem.removeAttr('disabled')

13voto

Harshit Nigam Points 104

La meilleure réponse est simplement removeAttribute

element.removeAttribute("disabled");

4voto

Henry Hedden Points 1

Pour régler le disabled à faux en utilisant l'option name de l'entrée :

document.myForm.myInputName.disabled = false;

1voto

$("#input-id").attr("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