Ciao ragazzi, avrei bisogno di un consiglio.
Ho una form che viene validata con validator di JQUERY, e uno script che esegue un AJAX che vada ad inserire i dati nel DB.
Il problema è che quando clicco sul pulsante del submit, vengono eseguiti in cascata e, mentre il validator mi dice che i campi non sono corretti, l'AJAX mi restituisce errore perché ha fatto l'inserimento e il PHP che richiama gli da errore. Come posso fare in modo che l'AJAX si carichi solo dopo che il VALIDATOR ha fatto il suo compito? Oppure, posso sostituire
per richiamare Ll'AJAX?codice:submitHandler: function(form) { form.submit(); }
validator.js
ajax.jscodice:$().ready(function() { "use strict"; // Selezione form della pagina index.html e definizione dei metodi di validazione $("#formIndex").validate({ // Definiamo le nostre regole di validazione rules: { 'cerca': { //Definiamo il campo mail come obbligatorio required: true, }, }, // Personalizzimao i mesasggi di errore messages: { 'cerca': "Dicci cosa vorresti cercare", }, // Settiamo il submit handler per la form submitHandler: function(form) { form.submit(); } }); // Selezione form della pagina registrati.html e definizione dei metodi di validazione $("#formRegistrati").validate({ // Definiamo le nostre regole di validazione rules: { 'email': { //Definiamo il campo mail come obbligatorio required: true, // Definiamo il campo email come un campo di tipo email email: true, //Chiamata AJAX per controllare che la mail non sia già presente nel DB remote: { url: "validatorAjaxFormRegistrati.php", type: "post" } }, 'password': { required: true, // Settiamo la lunghezza minima e massima per il campo password minlength: 6 }, 'verificaPassword': { //Verifico che entrambe le password siano uguali required: true, equalTo: '#password' }, 'date': { //Verifico che si sia selezionato un giorno required: true, }, 'privacy': "required" }, // Personalizzimao i mesasggi di errore messages: { 'email': { required: "Inserisci la tua email", email: "Inserisci un formato valido", remote: "L'indirizzo email risulta già registrato" }, 'password': { required: "Inserisci una password", minlength: "Lunghezza minima 6 caratteri", }, 'verificaPassword': { required: "Inserisci una password di verifica", equalTo: "Le password non corrispondono" }, 'date': { required: "Inserisci una data di nascita valida", }, 'privacy': { required: "Clicca per accettare" } }, // Settiamo il submit handler per la form submitHandler: function(form) { form.submit(); } }); });
vorrei che ilcodice:$(document).ready(function() { "use strict"; //al click sul bottone del form $("#conferma").click(function(){ alert("mi ha chiamato"); //associo variabili var email = $("#email").val(); var password = $("#password").val(); //chiamata ajax $.ajax({ //imposto il tipo di invio dati (GET O POST) type: "POST", //Dove devo inviare i dati recuperati dal form? url: "injectionAjaxRegistrati.php", //Quali dati devo inviare? data: "email=" + email + "&password=" + password, dataType: "html", //Inizio visualizzazione errori success: function(msg) { $("#risultato").html(msg); }, error: function() { alert("ERRORE... SI PREGA DI RIPROVARE!"); } }); }); });diventasse una funzione e che nell'handler venisse richiamata. Che ne dite?codice:$("#conferma").click(function(){

Rispondi quotando
