DÉSACTIVER UN BOUTON SUBMIT APRÈS ENVOI DU FORMULAIRE

zut69 Messages postés 354 Date d'inscription lundi 26 juillet 2004 Statut Membre Dernière intervention 26 juin 2012 - 11 mars 2010 à 20:36
patricklane Messages postés 5 Date d'inscription lundi 1 octobre 2007 Statut Membre Dernière intervention 31 mai 2008 - 5 févr. 2011 à 12:16
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/51431-desactiver-un-bouton-submit-apres-envoi-du-formulaire

patricklane Messages postés 5 Date d'inscription lundi 1 octobre 2007 Statut Membre Dernière intervention 31 mai 2008
5 févr. 2011 à 12:16
Lorsque j'emploie ce code, le formulaire n'est plus envoyé.
Peut on me dire où est mon erreur ?
Merci d'avance
zen69 Messages postés 584 Date d'inscription jeudi 28 décembre 2006 Statut Membre Dernière intervention 29 avril 2010 1
19 mars 2010 à 18:45
J'ai pas testé du tout... mais ce pourrait-il que ceci règle le probleme de la fonction obsolète...

current_item.addEventListener("click", remListener, false);

function remListener(event) {
callback(event);
this.removeEventListener('click',remListener.caller,false);
}

Deplus je crois que une combinaison des deux solutions proposé est l'idéal, car avec obj.disabled = "true"; le bouton ne "renfonce" plus lors du clique...
:P
cs_hornetbzz Messages postés 59 Date d'inscription lundi 1 décembre 2008 Statut Membre Dernière intervention 3 janvier 2011
15 mars 2010 à 12:18
@LDD: merci beaucoup pour l'info même si... damned, j'étais tout content de cette fonction, ça m'arrange pas cette histoire ;-) Mais a priori en première lecture, cela dépend de l'usage de cet argument. Affaire à suivre...
lddsoft Messages postés 19 Date d'inscription vendredi 16 mai 2008 Statut Membre Dernière intervention 16 mai 2011
15 mars 2010 à 11:57
@HORNETBZZ

OK, mais il me semble avoir lu quelque part que "arguments.callee" était devenu obsolète depuis JavaScript 1.4 ...
cs_hornetbzz Messages postés 59 Date d'inscription lundi 1 décembre 2008 Statut Membre Dernière intervention 3 janvier 2011
15 mars 2010 à 10:17
C'est très bien pour les débutants dans le sens où le code est simple et illustratif.

Ceci dit, +1 sur le commentaire de LDDSoft et j'ajouterai qu'il serait bien d'aller plus loin en désactivant un bouton "tout court" par le DOM, pas seulement le submit d'un formulaire.

Il y a un très bon tuto ici (http://www.howtocreate.co.uk/tutorials/javascript/domevents) , illustrant ceci par exemple (cas de NS) :

current_item.addEventListener("click", function (event) {
callback(event);
this.removeEventListener('click',arguments.callee,false);
}
, false);
lddsoft Messages postés 19 Date d'inscription vendredi 16 mai 2008 Statut Membre Dernière intervention 16 mai 2011
15 mars 2010 à 07:57
Un simple onclick="this.disabled='true';" aurait suffi, non ?
zut69 Messages postés 354 Date d'inscription lundi 26 juillet 2004 Statut Membre Dernière intervention 26 juin 2012 1
11 mars 2010 à 20:36
Sympa clair simple et pratique :-)
Rejoignez-nous