2011-11-23 4 views
5

Mam formularz z czterema polami. Zastosowałem kilka dyskretnych sprawdzeń do 3 z nich. Chcę, aby po przeprowadzeniu wszelkich dyskretnych sprawdzeń poprawności została wywołana funkcja jquery, ale zdefiniowałem zdarzenie onsubmit w formularzu, aby za każdym razem, gdy pierwszy raz przechodzi do tej funkcji jquery i wykonał wszystkie kroki, pokaże, że dyskretna funkcja jest niepoprawna. wiadomości sprawdzania poprawności dla odpowiednich pól tekstowych.Jak sprawdzić, czy dyskretne sprawdzanie poprawności zostało sprawdzone w funkcji jquery?

Ale chcę wykonać wszystkie kroki funkcji jquery, jeśli formularz przeszedł bez dyskretnego sprawdzania poprawności.

Czy istnieje sposób sprawdzenia, czy przeprowadzono dyskretną walidację?

To jest mój kod 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; } 
} 
} 

Odpowiedz

10

Można sprawdzić, czy forma jest ważna w przedkładać obsługi:

$('#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

Thanks Darin, Próbowałem to, bez wywoływania żadnych funkcji na zdarzenie onsubmit, ale tutaj również najpierw sprawdza dyskretną walidację po kliknięciu przycisku przesyłania, a jeśli wszystkie sprawdzenia poprawności zostaną spełnione, przechodzi do akcji. I nie idź do funkcji jquery, jak sugerujesz, gdzie trzeba sprawdzić niektóre kroki. dzięki .. – Kriitika

+0

Podaję identyfikator formularza w następujący sposób: '@ {Html.BeginForm (" Index "," Home ", FormMethod.Post, nowy {id =" formId "});} // formularz body @ {Html.EndForm();} ' i na początku strony zdefiniował jquery w sekcji head jako co zasugerowałeś Ale kod nie będzie wykonywał kroków Jquery. – Kriitika

Powiązane problemy