Bonjour à tous,
Le problème, malgré e.preventDefault()
Je peux envoyer le formulaire plusieurs fois, avant de recevoir la réponse du formulaire, si je clique plusieurs fois avant de la recevoir (sur un input type="submit")
Et je reçois donc 3 fois la réponse
Comme si le e.preventDefault() s'annulait à partir de l'envoi de la requête $.ajax
J'ai aussi essayé avec la fonction one()
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 $('#form').submit(function(e) { e.preventDefault() envoi=$(this).serialize() $.ajax({ url : 'http:...php', type : 'POST', data : envoi, dataType : 'text', success : function(rep){ alert(rep); } }); });
Et avec one() cela ne désactive pas le bouton si je clique plusieurs fois, la requete n'est pas envoyée
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 $('#form').one('submit', function(e) { e.preventDefault() envoi=$(this).serialize() $.ajax({ url : 'http:...php', type : 'POST', data : envoi, dataType : 'text', success : function(rep){ alert(rep); } }); });
Notez qu'il s'agit d'un envoi cross-domain, si cela affecte quelque chose.
Cordialement
Partager