Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Weryfikacja formularza
Forum PHP.pl > Forum > Po stronie przeglądarki
gregi1
Mam problem, bo nie znam się kompletnie na js, a to zapewne jest dość proste, wiec licze na waszą pomoc.
Otóż mam formularz z jednym polem tekstowym, jednym checkboxem i przyciskiem wyślij.

I chciałbym aby jak ktoś kliknie "wyślij" i nie zaznaczył checkboxa, aby się to nie wysłało i aby napis(Chcę newsletter) obok chceckboxa zrobił się czerwony z dopiskiem pole obowiązkowe. Zależy mi na js, bo w php musiałbym przeładować stronę, a nie chcę tego robic.

Mój szkic kodu wygląda tak:

  1. <form method="post" action="abc.php">
  2.  
  3. <tr>
  4. <td>adres e-mail</td>
  5. <td><input type="text" name="s_email" value="" onFocus="select()" />
  6. </td>
  7. </tr>
  8. <tr>
  9.  
  10. <td><input name="zgoda" type="checkbox" id="zgoda" value="" /></td><td>Chcę newsletter</td>
  11. </tr>
  12. <tr>
  13. <td colspan="3" align="right"><input type="submit" name="Submit" value="wyślij" />
  14. </td>
  15. </tr>
  16. </form>
markonix
Kod
js how check checkbox is checked

Kod
js jak sprawdzić czy checkbox jest zaznaczony

Nie wiem co z Twoim Google się stało ale u mnie jest mnóstwo wyników.
gregi1
Napisałem sobie, coś takiego....
Czy mógłby ktoś to zweryfikować czy to będzie działać? Albo ewentualnie powiedzieć co jest nie tak:
  1. <script type="text/javascript">
  2. document.getElementById('buttonWyslij').onclick = function() {
  3. var formularz = document.getElementById('Formularz');
  4. var email = document.getElementById('email');
  5. var errorSpanEmail = this.nextSibling;
  6. var WzorMaila = /^[0-9a-z_.-]+@[0-9a-z.-]+\.[a-z]{2,3}$/i
  7. var Checkbox= document.getElementById('checkbox')
  8. var errorSpanCheckbox = this.nextSibling;
  9. var WzorCheckbox = document.getElementById('checkbox').checked
  10.  
  11. if ((WzorCheckbox.test(checkbox.value))&&(wzorMaila.test(email.value)))
  12.  
  13. {
  14. formularz.submit()
  15.  
  16. } else {
  17. if (!WzorMaila.test(email.value)) {
  18. errorSpanEmail.style.display = "inline"
  19. }else {
  20. errorSpanEmail.style.display = "none";
  21. }
  22.  
  23. if (!WzorCheckbox.test(checkbox.value)) {
  24. errorSpanCheckbox.style.display = "inline"
  25. }else {
  26. errorSpanCheckbox.style.display = "none";
  27. }
  28.  
  29. }
  30. }
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37. <form name="formularz" method="post" action="">
  38.  
  39. <input type="checkbox" name="checkbox"><span class="zleDane">źle</span>
  40. <input type="text" name="email" id="email" value="" /><span class="zleDane">źle</span>
  41.  
  42. <input type="image" src="obrazekGuzikaWyslij" id="buttonWyslij" />
  43.  
  44. </form>
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.