![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 61 Pomógł: 0 Dołączył: 24.05.2006 Ostrzeżenie: (0%) ![]() ![]() |
Witajcie,
Chciałem napisać skrypt w JavaScript do przyjaznych formularzy. Chodzi konkretniej o weryfikację wartości inputów i textarea, które mają jako id przypisane cyfry, które zarazem oznaczają ilość wykonania pętli for. W wypadku znalezienia nieprawidłowości ma ona zostać przerwana i uruchomiona pętla if z przerywaniem wykonywania formularza. Kod window.onload = sprawdzajFormularz; function sprawdzajFormularz(nazPola) { document.for_prod.onsubmit = sprawdzPola(nazPola); } function sprawdzPola(nazPola) { var ilosc = nazPola; var error = false; for (var i = 1; i <= ilosc;i++ ) /*pętla sprawdzająca wartość pola jeżeli jest puste, zatrzymuje wykonywanie formularza*/ { alert(i); var ktorePole = i; var nazwa = document.getElementById(ktorePole).value; var valid_3 = /^[\s]+$/.test(nazwa); if(document.getElementById(ktorePole).value == "" || valid_3 === true) { document.getElementById(ktorePole).style.border = "2px solid #000000"; document.getElementById(ktorePole).value = "Musisz uzupełnić to pole!"; error = true; alert(error); break; } } if (error){return false;} }
I teraz mam problem, bo formularz mimo wszystko zostaje zatwierdzony i w wypadku jakiegoś pustego pola pętla for rzeczywiście zostaje przerwana (np. dla pustego pola o id 4 pokazują się alerty: 1, 2, 3, 4 i na końcu true [wartość error]). Mimo wszystko formularz jest odświeżany. Próbowałem różne ustawienia z tą ostatnią pętla if (była w for, w if z pętli for, poza nią, na początku, na środku i na końcu), ale żadne nie było poprawne, to znaczy formularz analizowany był dalej i zatwierdzany mimo komunikatów o błędach w pustych inputach. Jeżeli ktoś z Was domyśla się, co może powodować ten błąd, prosiłbym o wiadomość. Z góry dziękuję za pomoc. |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 144 Pomógł: 30 Dołączył: 5.05.2007 Skąd: Mannheim Ostrzeżenie: (0%) ![]() ![]() |
Witam ! Wywal z kodu window.onload = sprawdzajFormularz i funkcje sprawdzajFormularz
Przy onSubmit napisz onSubmit="return sprawdzPola(nazPola)" Pozdrawiam -------------------- Flash Flex PHP JAVA RED5 http://www.easyweb24.net
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 614 Pomógł: 7 Dołączył: 10.11.2003 Skąd: Rzeszów/Kraków Ostrzeżenie: (0%) ![]() ![]() |
1. Id nie może zaczynać się od cyfry: http://www.w3.org/TR/html401/types.html#type-name
2.
Ten post edytował gekon 14.01.2008, 14:32:10 -------------------- Pokaż kod = Pokaż CAŁY kod, najlepiej działający na jakimś serwerze.
Fanatycy | glazar.info | semantyka | HTML i XHTML FAQ |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 61 Pomógł: 0 Dołączył: 24.05.2006 Ostrzeżenie: (0%) ![]() ![]() |
Dziękuję Wam serdecznie za uwagi i propozycje. Działa teraz jak należy.
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 19.07.2025 - 07:48 |