2011-11-23 14 views
5

Ho un modulo con quattro campi. Ho applicato alcune validazioni non invadenti a 3 di esse. Voglio che quando è stata eseguita tutta la convalida non invadente, viene chiamata una funzione jQuery, ma ho definito un evento onsubmit nel modulo in modo che ogni volta che passa per la prima volta a quella funzione jquery ed esegua tutti i passaggi, mostra che il non invadente messaggi di convalida per le rispettive caselle di testo.Come verificare che le validazioni non invadenti siano state convalidate nella funzione jquery?

Ma voglio eseguire tutti i passaggi della funzione jquery se il modulo ha superato la convalida non invadente.

C'è un modo per verificare che sia stata eseguita tutta la convalida non invadente?

Questo è il mio codice jQuery:

function submitDetails() 
{ 
var check = $('#flag').val();    
if (check == 1) 
{ 
return true; 
} 

else { 
var birthDate = ($('#BirthDate').val()).split('/'); 
var graduationDate = ($('#GraduationDate').val()).split('/'); 
var stdate = birthDate[2] + birthDate[1] + birthDate[0]; 
var endate = graduationDate[2] + graduationDate[1] + graduationDate[0]; 
if (($('#LastName').val() == "") || (parseInt(endate) < parseInt(stdate))) 
    { 
    $('#Window').data('tWindow').center().open(); 
    return false; 
} 
else { return true; } 
} 
} 

risposta

10

Si potrebbe verificare se il modulo è valido per la presentare gestore:

$('#formId').submit(function() { 
    if (!$(this).valid()) { 
     // validation failed => here you can call your function or whatever 
     return false; 
    } else { 
     // the form is valid => you could perform some other action if you will 
    } 
}); 
+0

Grazie Darin, Ho provato questo, senza chiamare qualsiasi funzione onsubmit event, ma anche qui prima controlla la convalida non invadente quando clicco su submit e se tutta la convalida viene soddisfatta, passa all'azione post. E non andare alla funzione jQuery come hai suggerito, dove è necessario verificare alcuni passaggi. grazie .. – Kriitika

+0

Sto dando l'Id del modulo come segue: '@ {Html.BeginForm (" Indice "," Casa ", FormMethod.Post, nuovo {id =" formId "});} // corpo forma @ {Html.EndForm();} ' e all'inizio della pagina definito jquery nella sezione head come cosa hai suggerito Ma il codice non sta per eseguire i passaggi di Jquery. – Kriitika

Problemi correlati