Proszę o pomoc. Skryptem formularz.php w php generuje formularz z 3 polami input ( w pętelce) .
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
  1. <html>
  2. <head>
  3. <script language="JavaScript">
  4. function validateForm(x)
  5. {
  6. for (i = 0; i <= x; i++)
  7.  {
  8. // sprawdza czy pola nie są puste
  9. if (document.forms[0].elements[i].value.length =="")
  10. {
  11. alert ("Wypełnij wszystkie pola!");
  12. return false;
  13. }
  14. //sprawdza czy liczby
  15. if (isNaN(document.forms[0].elements[i].value))
  16. {
  17. alert ("Wprowadz cyfry!");
  18. return false;
  19. }
  20.  
  21. // sprawdza zakres liczb
  22. if (parseInt(document.forms[0].elements[i].value) < 0.00000001 ||
  23. parseInt(document.forms[0].elements[i].value) > 10000000)
  24. {
  25. alert ("Wprowadz prawidłowa wartosc!");
  26. return false;
  27. }
  28. return true; 
  29. }
  30. </script>
  31. </head>
  32. <body>
  33. <?php 
  34. $c=3;// Ilosc pól może być zmieniana dynamicznie, tu założono że będą to 3 pola
  35. $d=$c-1;
  36. echo '<FORM ACTION="O_form.php" METHOD="POST" onSubmit="return validateForm('.$d.');">';
  37.  
  38. for ($i = 1; $i <= $c; $i++) 
  39. {
  40. $str=<<<CODE
  41. <p>
  42. <label for="Dana">Dana nr__$i:</label>
  43. <input type="text" name="Dana_$i">
  44. </p>
  45. CODE;
  46. print($str);
  47. }
  48. echo '<input type="submit" value="Zarejestruj"';
  49. echo '</FORM></body></html>';
  50. ?>


Skrypt O_form.php
  1. <?php
  2. $c=3;
  3. for ($i = 1; $i <= $c; $i++) 
  4. {
  5. $wm="Dana_".$i;
  6. $dana=$_POST[$wm];
  7. $wa[$i]=$dana;
  8. echo '$wa['.$i.']= '.$wa[$i].'<BR>';
  9. }
  10. ?>