Dane chcę zweryfikować kategoriami: czy wszystkie pola wypełnione, czy wpisane znaki można zinterpretować jako liczby, czy liczby mieszczą się w zakresie. Weryfikacja jest uruchamiana w momencie uruchomienia przycisku "Zarejestruj". Teraz skrypt Java weryfikuje pola. Przy próbie wpisu cyfr we wszystkich polach ( wartość jest OK) podaje mi komunikat "Wprowadz cyfry!". Skrypte O_form.php odczytuje wprowadzone wartości i jest tu przywołany informacyjnie. Zdarza się, że skrypt raz zachowuje się prawidłowo, innym razem wyświetla komunikat jak wyżej. Co jest tu źle zrobione?
Skrypt formularz.php
<html> <head> <script language="JavaScript"> function validateForm(x) { for (i = 0; i <= x; i++) { // sprawdza czy pola nie są puste if (document.forms[0].elements[i].value.length =="") { alert ("Wypełnij wszystkie pola!"); return false; } //sprawdza czy liczby if (isNaN(document.forms[0].elements[i].value)) { alert ("Wprowadz cyfry!"); return false; } // sprawdza zakres liczb if (parseInt(document.forms[0].elements[i].value) < 0.00000001 || parseInt(document.forms[0].elements[i].value) > 10000000) { alert ("Wprowadz prawidłowa wartosc!"); return false; } } return true; } </script> </head> <body> <?php $c=3;// Ilosc pól może być zmieniana dynamicznie, tu założono że będą to 3 pola $d=$c-1; for ($i = 1; $i <= $c; $i++) { $str=<<<CODE <p> <label for="Dana">Dana nr__$i:</label> <input type="text" name="Dana_$i"> </p> CODE; } ?>
Skrypt O_form.php
<?php $c=3; for ($i = 1; $i <= $c; $i++) { $wm="Dana_".$i; $dana=$_POST[$wm]; $wa[$i]=$dana; } ?>