Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [JS] Problem z for i return false
Koniczynka
post
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;}
                        
                        
                            }



  1. <form method="post" action="#" name="for_prod" onSubmit="sprawdzajFormularz('8')">
  2. <div class="pol_d"><span class="tek_d">Nazwa</span><span class="polk_d"><input type="text" name="nazz" class="inp_d" id="1" /></span></div>


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.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 11:27