web-dev-qa-db-fra.com

jQuery .prop ("disabled", false) ne fonctionne pas dans Chrome

avoir des problèmes avec .prop ("disabled", false) cela fonctionne très bien dans opera et firefox mais IE et chrome je n'arrive pas à le faire fonctionner ..

En fait, c’est un formulaire d’invitation et je fais un bouton d’envoi comme celui-ci

<input id="sendInvite" class="mail_send" disabled="disabled" type="button" name="invite" value="Send">

et voici css 

.mail_send[disabled="disabled"] {background-color:#343434; color:#747474}

Donc, comme vous pouvez voir que le bouton est désactivé et que vous ne pouvez pas cliquer, vous devez d'abord écrire votre nom et les courriers après que ce bouton est désactivé et vous pouvez envoyer des courriers. ____.] http://Pastebin.com/8u23G90b

Mais quelque chose ne va pas ici, en chrome et IE désactivé jamais supprimé du bouton, im charge également jquery 1.7.1

p.s désolé pour mon anglais

18
user994461

Supprimer l'attribut:

$('button').removeAttr("disabled");

Voir .removeAttr () pour plus de détails

23
James Holmes

Votre problème n'est pas avec JQuery, mais avec vos sélecteurs CSS. Disabled attribut fait référence à la valeur par défaut lors du premier chargement de la page, plutôt que de savoir si l'élément est réellement désactivé ou non. 

Le sélecteur CSS que vous voulez est le sélecteur : désactivé :

.mail_send:disabled {background-color:#343434; color:#747474}

Vous pouvez voir un exemple avec this jsfiddle .

2
Fiddles

Je rencontrais un problème similaire où j'utilisais .prop ("disabled", false) pour supprimer disabled d'un bouton "Enregistrer". Disabled était assigné via .prop ("disabled", true).

Mais attendez qui quoi - en essayant de supprimer cette propriété (qui serait rendue désactivée dans la balise html), j'ai découvert qu'elle était sortie en tant que class = "disabled"!

Pour cela - j'ai utilisé .removeClass ('disabled') Tout ce que j'essaie de dire, c'est que si les choses ne fonctionnent pas comme vous le pensez, assurez-vous que leur sortie initiale correspond à ce à quoi vous vous attendiez. 


0
DGG