decha-design
15.12.2008, 01:18:40
Cóż, mam formularz ... ileś tam pól, submit itd. Przy pomocy ajaxa sprawdzam każde pole z osobna czy jest poprawne (czy jest wypełnione, wyrażenia regularne itd) no i ładnie wyświetla. Natomiast pojawia się problem, gdy ktoś (użytkownik) nie będzie klikał po kolei w każde pole, tylko kliknie od razu przycisk.
Czy da rade, po wykonaniu czynności onSubmit, przesłać dane do Ajaxa i dopiero po odebraniu danych przez Ajaxa i wyświetleniu ich (jak są wszystkie poprawne of kors) przekierowaniu dalej bądź jak są niepoprawne, zatrzymanie przesyłania formularza i wyświetlenie błędów?
Czyli po prostu, jak jest poprawnie ma się wykonać, a jak niepoprawnie to przesyłanie staje. =)
Z góry dzięki za jakieś wskazówki lub nawet fragment kodu. =)
skowron-line
15.12.2008, 09:18:42
W akcji onSubmit zwroć sobie 1 w przypadku sukcesu lub zero w przypadku niepowodzenia i na tej zasadzie określ czy formularz został poprawnie wypełniony.
decha-design
15.12.2008, 13:19:53
ech, ale ja umiem sprawdzić poprawność formularza, to żaden problem... Chodzi mi tylko o to, że nawet jeśli sprawdzę, to formularz przekierowuje mnie do następnej strony ... (bo nie wysyłam danych Ajaxem)..
Załóżmy, że mam kontakt ... Sprawdzam osobno Nick, E-mail, Temat wiadomości i Treść wszystko ok (no OnKeyUp i sprawdzanie przez Ajax) i niestety problem zaczyna się gdy chce przesłać ten formularz do następnego skryptu, powiedzmy że send.php.
I tutaj są schody, bo chcę zrobić, żeby najpierw sprawdziło poprawność formularza i jeżeli jest poprawny to bez żadnej informacji prześle go dalej, a jeżeli natomiast są błędy (np. niepoprawny adres e-mail), żeby nie przesłało danych dalej, tylko wyświetliło np. alert();
I teraz moje pytanie ponawiam ... Jak wstrzymać ten formularz? Da się w ogóle? Chyba, że nie ma takiej możliwości w pokazanych wyżej przeze mnie przykładzie i trzeba zrobić również wysyłanie e-maili w Ajaxie o.O'
erix
15.12.2008, 18:18:46
Cytat
Chodzi mi tylko o to, że nawet jeśli sprawdzę, to formularz przekierowuje mnie do następnej strony ... (bo nie wysyłam danych Ajaxem)..
Przecież napisał:

Cytat
W akcji onSubmit zwroć sobie 1 w przypadku sukcesu lub zero w przypadku niepowodzenia
Jeśli masz sprawdzanie doczepione do zdarzenia
onsubmit (a tak być powinno), to jeśli funkcja sprawdzająca zwróci
false (0) - formularz nie zostanie wysłany.
decha-design
15.12.2008, 21:00:55
dobra, dzięki już działa. A tamtego postu kolegi wyżej jakoś nie zrozumiałem =)
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.