Je travaille sur la fixation de la validation de mes formulaires. La validation fonctionne, le problème est que lorsqu'aucune erreur de validation ne se produit, le formulaire soumet autant de fois que l'utilisateur a tenté de soumettre. C'est comme si les requêtes s'empilaient sur une pile.Ajax demande soumise plusieurs fois
Forms a ce bouton d'envoi qui appelle ma fonction ajax create_new_stuff
<input id='submitButton' onclick='create_new_stuff()' name='submit' type='submit' value='create' />
La fonction
function create_new_stuff(){
$("#createForm").submit(function(event){
event.preventDefault();
event.returnValue = false;
var input_value = $("#createValue").val();
if(input_value === "" || null){
console.log("Wrong input value");
return;
}
else{
var request;
var $form = $(this);
var serializedData = $form.serialize();
request = $.ajax({
url: "/new_stuff.php",
type: "post",
data: serializedData
});
// callback handler that will be called on success
request.done(function (response, textStatus, jqXHR){
console.log("Stuff created!", response);
create_new_stuff_form();
var successDiv = $("<div class='success'>Stuff was created</div>");
$("#responseMessages").html(successDiv);
});
// callback handler that will be called on failure
request.fail(function (jqXHR, textStatus, errorThrown){
console.error(
"The following error occured: "+
textStatus, errorThrown
);
});
}
});
}
Est-ce parce que vous avez un événement onClick sur un bouton de type de soumission? Essayez de passer votre type de bouton de «soumettre» à «bouton». – Fluitketel
Après validation réussie, vous pouvez désactiver le bouton d'envoi et faire l'appel du serveur Ou montrer une image de chargement à la place du bouton .. et traiter selon la réponse du serveur – vivek