$("#richiestaInfo").validator().on("submit", function (event) { //alert(); if (event.isDefaultPrevented()) { // handle the invalid form... formError(); submitMSGFr(false, "Non hai compilato il modulo correttamente"); } else { // everything looks good! event.preventDefault(); submitFormFr(); } }); function submitFormFr(){ // Initiate Variables With Form Content var json = $("#richiestaInfo").serialize(); $.ajax({ type: "POST", url: "send-richiesta-informazioni.php", data: json, success : function(text){ //alert(text); if (text == "successFr"){ //alert(text); formSuccessFr(); } else { formError(); submitMSGFr(false,text); } } }); } function formSuccessFr() { //alert(); const form = $("#richiestaInfo")[0]; form.reset(); // Resetta i campi form.classList.add("needs-validation"); // Assicura che needs-validation sia presente form.classList.remove("was-validated"); // Rimuove la validazione completata submitMSGFr(true, "Messaggio Inviato con Successo!"); } function formError(){ $("#richiestaInfo").addClass("").one("webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend", function(){ $(this).removeClass(); }); } function submitMSGFr(valid, msg) { //alert(msg); const msgClasses = valid ? "h3 text-center text-success animated fadeInUpBig" : "h3 text-center text-danger"; const $msgSubmitFranch = $("#msgSubmitFranch"); // Rimuovi classi precedenti e aggiungi nuove $msgSubmitFranch .removeClass("d-none animate__animated animate__fadeIn animate__tada text-success text-danger") .addClass(msgClasses) .text(msg); // Nascondi il messaggio dopo 5 secondi setTimeout(() => { $msgSubmitFranch .addClass("d-none") .removeClass(msgClasses) .text(""); }, 5000); }