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

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);
    }
  });
});
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
 
$('#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);
    }
  });
});
Et avec one() cela ne désactive pas le bouton si je clique plusieurs fois, la requete n'est pas envoyée

Notez qu'il s'agit d'un envoi cross-domain, si cela affecte quelque chose.
Cordialement