Bonjour,

Je n'arrive pas à comprendre pourquoi cette fonction "insertionCde" s'exécute une ou plusieurs fois sur un clique de bouton de façon aléatoire.

Je m'explique:
Parfois la fonction insère bien une seule commande, et à partir de 3 articles (ou plus) la probabilité d'avoir plusieurs fois la même commande augmente et je me retrouve avec 2 ou 3 fois la même commande.

Le clique peut-il se jouer 2 fois ? (à mon insu )

Voici ce qui est chargé dans le DOM :

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
17
18
19
$("document").ready(function()  {
 
affMasqBtn(); // Affiche ou masque le bouton "Valider la commande" au chargement de la page.
 
$("#validerCde").click(function() {
  insertionCde(); // Insertion commande.
});
 
annulerCde(); // Annulation d'une commande au clique sur l'icone Annuler (croix rouge).
 
visuCde();
 
$('.input_cmd').keyup(function() {
   affMasqBtn(); // Si une donnée est saisie dans quantité on affiche le bouton "Valider la commande".
})
 
controleQte();
 
});
La fonction qui insère les commandes :
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
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
function insertionCde(){
        var date = $("#date").val();
        var commentaire = $("#commentaire").val();
            if(date!="") {
                if(confirm("Veuillez confirmer la création de la commande")) {
                    var str = $(".input_cmd").serialize(); // serialize les données.                     
                    $.ajax({
                        type: "GET",
                        url: "nouvelle_commande.php", // Insertion de la commande
                        data: { refqte:str,d:date,c:commentaire },
                        success: function(data){
                            if(data!="")
                            {
                                chargerData(); // Rechargement de la page avec un submit.
                            }
                            else
                            {
                                $('#cdeOk').html("une erreur est survenue !");
                            }
                        }
                    });
                } 
                else {
                                return false;
                }
            }
            else {
                alert("Veuillez saisir une date de livraison");
                $( "#date" ).datepicker( "show" ); // On affiche le calendrier.
            }
}