Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][HTML][JavaScript] Walidacja formularzy w JS
Forum PHP.pl > Forum > Przedszkole
bonio89
Witam!
Zawarto¶ć formularza ma być sprawdzana przed wysłaniem.
Nie wiadomo dlaczego skrypt nie działa;/

  1. <? include("top_gui.php"); ?>
  2. <div align="center">
  3. <script type="text/javascript" language="javascript" src="js/validate.js"></script>
  4.  
  5. <form id="dane_firmy" method="post" action="potwierdzenie.php" onsubmit="return sprawdz_formularz()">
  6.  
  7.  
  8. <input type="hidden" name="oferta" value="<? echo($_POST["oferta"]); ?>" >
  9. <input type="hidden" name="jaki_tel" value="<? echo($_POST["jaki_tel"]); ?>" >
  10. <input type="hidden" name="do_zaplaty" value="<? echo($_POST["do_zaplaty"]); ?>" >
  11.  
  12. <table width="800" height="132" border="0">
  13. <tr> <td colspan="2"><b><font size="2">DANE REJESTROWE FIRMY</font></b></td></tr>
  14. <tr>
  15. <td width="200"><label>Nazwa Firmy</label></td>
  16. <td><input type="text" name="nazwa_firmy" size="55"></td>
  17. </tr>
  18. <tr>
  19. <td><label>Imię</label></td>
  20. <td><input name="imie" type="text" size="55"></td>
  21. </tr>
  22. <tr>
  23. <td><label>Nazwisko</label></td>
  24. <td><input name="nazwisko" type="text" size="55" ></td>
  25. </tr>
  26. <tr>
  27. <td><label>Adres Rejestrowy</label></td>
  28. <td><input name="adresr" type="text" size="55"></td>
  29. </tr>
  30. <tr>
  31. <td>Kod Pocztowy (Rejestrowy)</td>
  32. <td><input name="kod_pocztowyr" type="text" size="55"></td>
  33. </tr>
  34. <tr>
  35. <td><label>Miasto (Rejestrowy)</label></td>
  36. <td><input name="miastor" type="text" size="55"></td>
  37. </tr>
  38. <tr>
  39. <td><label>Adres Korespondencyjny</label></td>
  40. <td><input name="adresk" type="text" size="55"></td>
  41. </tr>
  42. <tr>
  43. <td>Kod Pocztowy (Korespondencyjny)</td>
  44. <td><input name="kod_pocztowyk" type="text" size="55"></td>
  45. </tr>
  46. <tr>
  47. <td><label>Miasto (Korespondencyjny)</label></td>
  48. <td><input name="miastok" type="text" size="55"></td>
  49. </tr>
  50. <tr>
  51. <td><label>NIP</label></td>
  52. <td><input name="nip" type="text" size="55"></td>
  53. </tr>
  54. <tr>
  55. <td><label>REGON</label></td>
  56. <td><input name="regon" type="text" size="55"></td>
  57. </tr>
  58. <tr>
  59. <td><label>PESEL</label></td>
  60. <td><input name="pesel" type="text" size="55"></td>
  61. </tr>
  62. <tr>
  63. <td><label>Seria i nr dowodu osobistego</label></td>
  64. <td><input name="dowod" type="text" size="55"></td>
  65. </tr>
  66. <tr>
  67. <td><label>Nr telefonu kontaktowy</label></td>
  68. <td><input name="tel" type="text" size="55"></td>
  69. </tr>
  70. <tr>
  71. <td><label>Email</label></td>
  72. <td><input name="email" type="text" size="55"></td>
  73. </tr>
  74. </table>
  75. <table width="800" height="132" border="0">
  76. <tr> <td colspan="2"><b><font size="2">DANE DOSTAWY (jeżeli takie same jak firmy to pozostaw puste)</font></b></td></tr>
  77. <tr>
  78. <td width="200">Nazwa</td>
  79. <td><input name="d_nazwa" type="text" size="55"></td>
  80. </tr>
  81. <tr>
  82. <td>Adres 1</td>
  83. <td><input name="d_adres1" type="text" size="55"></td>
  84. </tr>
  85. <tr>
  86. <td >Adres 2</td>
  87. <td ><input name="d_adres2" type="text" size="55"></td>
  88. </tr>
  89. <tr>
  90. <td>Kod Pocztowy</td>
  91. <td><input name="d_kod" type="text" size="55"></td>
  92. </tr>
  93. <tr>
  94. <td>Miasto</td>
  95. <td><input name="d_miasto" type="text" size="55"></td>
  96. </tr>
  97. <tr>
  98. <td>Nr telefonu kontaktowy dla kuriera</td>
  99. <td><input name="d_tel_kurier" type="text" size="55"></td>
  100. </tr>
  101. <tr>
  102. <td><label>Komentarz</label></td>
  103. <td><textarea name="koment" cols="55" rows="6"></textarea></td>
  104. </tr>
  105. <tr>
  106. <td>&nbsp;</td>
  107. <td>
  108. <div align="right">
  109. <input type="submit" value="Dalej">
  110. </div>
  111.  
  112. </td></tr></table>
  113. </form>
  114. </div>
  115. <? include("bottom_gui.php"); ?>



validate.js
  1. function sprawdz_formularz()
  2. {
  3. // zmienna przechowujaca komunikaty bledow
  4. var bledy = '';
  5. // przypisanie obiektu formularza do zmiennej
  6. var f = document.forms['dane_firmy'];
  7.  
  8.  
  9. if (f.nazwa_firmy.value == '')
  10. bledy += 'Musisz wpisać Nazwę firmy!\n';
  11. // sprawdzenie imienia
  12. if (f.imie.value == '')
  13. bledy += 'Musisz wpisać imię!\n';
  14. // sprawdzenie nazwiska
  15. if (f.nazwisko.value == '')
  16. bledy += 'Musisz wpisać nazwisko!\n';
  17.  
  18. if (f.adresr.value == '')
  19. bledy += 'Musisz wpisać adresowy rejestrowy!\n';
  20.  
  21. if (f.kod_pocztowyr.value == '')
  22. bledy += 'Musisz wpisać kod poczowy rejestrowy!\n';
  23.  
  24. if (f.miastor.value == '')
  25. bledy += 'Musisz wpisać miasto rejestrowe!\n';
  26.  
  27. if (f.dresk.value == '')
  28. bledy += 'Musisz wpisać adres korespondencyjny!\n';
  29.  
  30. if (f.miastok.value == '')
  31. bledy += 'Musisz wpisać miasto korespondencyjne!\n';
  32.  
  33. if (f.kod_pocztowyk.value == '')
  34. bledy += 'Musisz wpisać kod pocztowy korespondencyjny!\n';
  35.  
  36. if (f.nip.value == '')
  37. bledy += 'Musisz wpisać NIP!\n';
  38.  
  39. if (f.regon.value == '')
  40. bledy += 'Musisz wpisać REGON!\n';
  41.  
  42. if (f.pesel.value == '')
  43. bledy += 'Musisz wpisać PESEL!\n';
  44.  
  45. if (f.dowod.value == '')
  46. bledy += 'Musisz wpisać serie i nr dowodu osobistego!\n';
  47.  
  48. if (f.tel.value == '')
  49. bledy += 'Musisz wpisać telefon kontaktowy!\n';
  50.  
  51. if (f.nazwisko.value == '')
  52. bledy += 'Musisz wpisać nazwisko!\n';
  53.  
  54. if (f.email.value == '')
  55. bledy += 'Musisz wpisać email!\n';
  56.  
  57.  
  58.  
  59.  
  60. // sprawdzenie czy byly bledy
  61. if (bledy == '')
  62. {
  63. f.submit();
  64. }
  65. else
  66. {
  67. alert(bledy);
  68. }
  69. }
nospor
nie:
if (bledy == '')
{
f.submit();
}
else
{
alert(bledy);
}
a:
if (bledy == '')
{
return true;
}
else
{
return false;
}

byc moze s± jeszcze inne bledy.
nmts
Kod
if (f.dresk.value == '')


bonio89
nosporale ja chce żeby po sprawdzeniu pól, po naci¶nięciu przycisku "dalej" wy¶wietlał sie alert z błędami lub przechodziło do następnej strony(potwierdzenie.php)
mam
  1. // sprawdzenie czy byly bledy
  2. if (bledy == '')
  3. {
  4. return true;
  5.  
  6. }
  7. else
  8. {
  9. alert(bledy);
  10. return false;
  11.  
  12. }


ale nie działa:/


nmts
  1. if (f.dresk.value == '')


gdzie to zastosować i co znaczy dresk?
nmts
Nigdzie, to jest fragment z Twojego kodu, i my¶lałem, że się domy¶lisz, że jest błędny. tongue.gif

Podany warunek powinien być taki:
Kod
if (f.adresk.value == '')


Ctrl+Shift+J otwiera w ff konsole błędów - czasami się przydaje. ^^
bonio89
nmts, dzięki jedna mała literka i #$%@^!%#^
winksmiley.jpg

jeszcze jeden mały problemik, tzn nie działa sprawdzanie zawarto¶ci wg. wzorca

  1. function sprawdz_formularz()
  2. {
  3. // zmienna przechowujaca komunikaty bledow
  4. var bledy = '';
  5. // przypisanie obiektu formularza do zmiennej
  6. var f = document.forms['dane_firmy'];
  7. var cyfry = /^[0-9]{11}$/;
  8. var mail = /^[a-zA-Z0-9±ćęłń󶿼ˇĆĘŁŃӦݬ]{1,30}@[a-zA-Z0-9±ćęłń󶿼ˇĆĘŁŃӦݬ]+(\.[a-zA-Z0-9±ćęłń󶿼ˇĆĘŁŃӦݬ]+)+$/;
  9.  
  10. .....//inne ify tutaj s±
  11.  
  12. if (f.pesel.value.match(cyfry))
  13. bledy += 'Musisz wpisać PESEL!\n';
  14.  
  15. ....//inne ify tutaj s±
  16.  
  17. if (f.email.value.match(mail))
  18. bledy += 'Musisz wpisać email!\n';
  19.  
  20.  
  21.  
  22.  
  23. // sprawdzenie czy byly bledy
  24. if (bledy == '')
  25. {
  26. return true;
  27.  
  28. }
  29. else
  30. {
  31. alert(bledy);
  32. return false;
  33.  
  34. }
  35. }


Już po problemie, Ľle były warunki.
neo1986kk
Witam, chciałem sobie takie co¶ zrobić na swojej stronie i przy okazji nauczyć się działania takiego skryptu, więc skopiowałem oba pliki i wkleiłem do swoich, niestety po kliknięciu przycisku dalej bez niczego przechodzi na potwierdzenie.php, a wcze¶niej w konsoli błędów pokazuje komunikat : sprawdz_formularz is not defined...
Zmieniłem oczywi¶cie ¶cieżkę dostępu do pliku validate.js

  1. <script type="text/javascript" language="javascript" src="validate.js"></script>


Może czego¶ jeszcze zapomniałem, pomóżcie
kamil4u
Chyba o niczym nie zapomniałe¶, pokaż kod. Spr na wszelki wypadek np. w firbug-u czy plik js jest wczytany.
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.
Invision Power Board © 2001-2025 Invision Power Services, Inc.