Dans votre requête, vous cherchez d'abord à désactiver puis à activer les éléments d'entrée en cliquant sur un lien. Cependant, votre code ne parvient pas à supprimer l'attribut "disabled".
Pour désactiver ou activer efficacement des éléments dans jQuery, utilisez invariablement l'attribut "disabled". méthode prop(). Cette distinction est importante puisque prop() gère les propriétés, tandis que attr()/removeAttr() gère les attributs.
Dans votre cas particulier, le code correct serait :
$("#edit").click(function(event){ event.preventDefault(); $('.inputDisabled').prop("disabled", false); // Elements are now enabled. });
Voir le code mis à jour en action sur ce jsFiddle : [lien vers jsFiddle]
While attr() /removeAttr() peut techniquement activer/désactiver des éléments, ce n'est pas recommandé en raison d'incohérences potentielles. Prop() gère explicitement les valeurs des propriétés, offrant un comportement plus fiable.
Pré-jQuery 3.0 (avant 2016)
removeAttr() a entièrement supprimé l'attribut désactivé, définissant le propriété à false. À l'inverse, prop() n'a modifié que la valeur booléenne de la propriété.
jQuery 3.0 et versions ultérieures
prop() reste l'approche recommandée, car removeAttr() ne définit désormais plus la propriété correspondante à false. Cette distinction est essentielle pour les navigateurs modernes qui font la différence entre les attributs (valeurs initiales) et les propriétés (valeurs actuelles).
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!