Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript] Sprawdzenie formularza
Forum PHP.pl > Forum > Przedszkole
cycofiasz
Witam, ma głupawy problem. Chciałem odciążyć serwer i walidować formularz rejestracji przez js, ale... prosty skrypcik js nie działa jak bym tego oczekiwał...

  1. function sprawdzenie()
  2. {
  3. var formularz = document.rejestracja;
  4. var blad = '';
  5.  
  6. if( formularz.username.value == '' || formularz.email.value == '' || formularz.password.value == '' || formularz.password2.value == '' || formularz.captcha.value == '' )
  7. { blad = 'Uzupełnij wszystkie pola.'; }
  8.  
  9. if( blad.value != '' ) {alert(blad);}
  10. else {formularz.submit();}
  11. }


Owszem, działa poprawnie gdy któreś z pól jest puste, ale gdy je wszystkie uzupełnię, to i tak wyświetla się pusty alert... Co mam źle w kodzie?
piotrooo89
pokaż formularz.
cycofiasz
Nie wiem w jakim celu, ale proszę (baaardzo okrojony, ale i tak błąd na tym samym polega)

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl">
  3. <meta http-equiv="Content-type" content="application/xhtml+xml; charset=utf-8" />
  4. <title>bleble</title>
  5. </head>
  6. <script type="text/javascript">
  7. //<![CDATA[
  8.  
  9. function sprawdzenie()
  10. {
  11. var formularz = document.rejestracja;
  12. var blad = '';
  13.  
  14. if( formularz.username.value == '' || formularz.email.value == '' || formularz.password.value == '' || formularz.password2.value == '' || formularz.captcha.value == '' )
  15. { blad = 'Uzupełnij wszystkie pola.'; }
  16.  
  17. if( blad.value != '' ) {alert(blad);}
  18. else {formularz.submit();}
  19. }
  20.  
  21. //]]>
  22.  
  23. <form action="rejestracja.php" method="post" name="rejestracja" id="rejestracja">
  24. <table cellspacing="0">
  25. <tr>
  26. <td width="120">Nick: </td>
  27.  
  28. <td>
  29. <input id="username" class="input_reg" name="username" maxlength="25" value="" type="text" />
  30. </td>
  31. </tr>
  32. <tr>
  33. <td>Adres email: </td>
  34. <td>
  35. <input id="email" class="input_reg" name="email" maxlength="255" value="" type="text" />
  36. </td>
  37. </tr>
  38. <tr>
  39. <td>Hasło: </td>
  40. <td>
  41. <input class="input_reg" name="password" maxlength="25" type="password" id="password"/>
  42. </td>
  43. </tr>
  44. <tr>
  45. <td>Powtórz hasło: </td>
  46. <td>
  47. <input class="input_reg" name="password2" maxlength="25" type="password" id="password2"/>
  48. </td>
  49. </tr>
  50. <tr>
  51. <td></a></td>
  52. <td>
  53. <input name="captcha" size="12" class="input_reg" id="captcha"/>
  54. </td>
  55. </tr>
  56. </table>
  57.  
  58.  
  59. <input type="checkbox" value="tak" name="regulamin"/>
  60. <a href="#" onclick="if(document.rejestracja.regulamin.checked == true) document.rejestracja.regulamin.checked = false;else document.rejestracja.regulamin.checked = true;">Akceptuję powyższy regulamin.</a>
  61. </div>
  62. </div>
  63.  
  64. <div style="text-align:center;margin-top: 40px"><a href="#" id="button_rej" onclick="sprawdzenie();">adaddasd</a></div>
  65.  
  66. </form>
  67.  
  68. </body>
  69. </html>
piotrooo89
proszę bardzo:

  1. function sprawdzenie()
  2. {
  3. var formularz = document.rejestracja;
  4. var blad = '';
  5.  
  6. if( formularz.username.value == '' || formularz.email.value == '' || formularz.password.value == '' || formularz.password2.value == '' || formularz.captcha.value == '' )
  7. {
  8. alert('Uzupełnij wszystkie pola.');
  9. }
  10. else
  11. {
  12. formularz.submit();}
  13. }


PS.
Cytat
Nie wiem w jakim celu

i mógłbyś się od uszczypliwości powstrzymać chce pomóc...
cycofiasz
ok, spoko, ale ja planowałem troszkę rozbudować ten kod js, i wykorzystać tę zmienną blad jako swego rodzaju flagę w dalszej części kodu. Owszem, ten kod który podałeś działa, ale nie z wykorzystaniem zmiennej blad (co prawda ją tworzsysz, ale nie wykorzystujesz). Ja chciałbym się dowiedzieć co w moim kodzie jest nie tak.

Nie miałem zamiaru ci docinać, ale formularz to raczej ja mam ok...

Już mam: bez .value haha.gif
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.