Sprawdź poprawność formularza dwa razy
Fakty dotyczące kodu:
Używam jQueryRównież za pomocą wtyczki jQuery ValidateCechy mojej formy:
Mam formularz, który jest podzielony na dwie części. To jedna forma, ale podzielona przez dwa duże divyMięso formularza (imię, nazwisko itp.) Znajduje się w pierwszej części.Mam również dynamiczną tabelę w pierwszej części formularza, aby ludzie mogli się zarejestrować i do 20 innych osób.Wreszcie jest kod rejestracyjny. Kody te są używane tylko do 20 razy. Czyli jeśli jedna osoba zarejestruje się i 19 innych osób z kodem rejestracyjnym
test
to jest to, test nie jest już użytecznym kodem rejestracyjnym.Problem:
Powiedzmy, że kod rejestracyjnytest
został już użyty 18 razy. Tak więc walidator działa prawidłowo, jeśli zarejestruje się i dwie inne osoby, wyświetli komunikat z informacją, że limit został przekroczony.jednak jeśli wpisują kodtest
PIERWSZY, a następnie dodaj dwie osoby, sprawdza poprawność formularza na prawdę i przechodzi dalej. Oto kod kodu rejestracyjnego w regułach walidatora:
regis_code: {
required: true,
reg_code: true,
remote: {
url: "Private/Code_checker.php",
data: {
num: function() {
return num_rows;
},
},
async: false
}
}
Więc skrypt php działa dobrze. To, co muszę zrobić, to sprawdzić poprawność podczas wypełniania formularza, ALE TAKŻE zatwierdź przed wysłaniem. Innym problemem jest to, że przycisk pierwszej części formularza nie jest przyciskiem przesyłania, jest to po prostu przycisk, który ukrywa bieżący div i pokazuje następny div (część 2) formularza. Jak mogę sprawdzić poprawność podczas pisania, a także potwierdzić, gdy klikną przycisk, aby przejść do części 2?
Oto kod przycisku wraz z elementami walidatora:
$('.button2').click(function() {
if(val.form()) {
$('.box').animate({ height:520, left: '-=50', top: '+=30', width: '-=350' }, 750);
$('div.box label').animate({width: '-=100%'},500);
$('#part1').fadeOut('slow', function() {
$('#part2').fadeIn('slow');
});
$('#PaySubmit').fadeIn('slow');
}
});
var val = $('#everything').validate({...});