Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Walidacja fromularza
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
imie_nazwisko
Mam następujący kod JS:

  1. <script LANGUAGE= "JavaScript" type= "text/javascript">
  2. function validateForm(rejestracja){
  3.  
  4. var tekst='';
  5. var tekst2='';
  6. if (rejestracja.question1.value =="" ){tekst=tekst+"- Quaestion 1\n";}
  7. if (rejestracja.question2.value =="" ){tekst=tekst+"- Quaestion 2\n";}
  8. if (rejestracja.question3.value =="" ){tekst=tekst+"- Quaestion 3\n";}
  9. if (rejestracja.zawod.value =="" ){tekst=tekst+"- Quaestion 4\n";}
  10. if (rejestracja.wyksztalcenie.value =="" ){tekst=tekst+"- Quaestion 5\n";}
  11. if (rejestracja.wiek.value =="" ){tekst=tekst+"- Quaestion 6\n";}
  12. if (rejestracja.opis.value =="" ){tekst=tekst+"- Quaestion 7\n";}
  13. if (rejestracja.umiejetnosci.value =="" ){tekst=tekst+"- Quaestion 8\n";}
  14.  
  15. if (tekst!="") {alert ("Error #872: \nFollowing fields are not completed: \n\n"+tekst);
  16. return false;
  17. } else {
  18. if (tekst2!="") {alert (tekst2);
  19. return false;
  20. } else { return true;}
  21. }
  22. }
  23.  
  24. </SCRIPT>


oraz formularz w PHP

  1. <form method="post" onsubmit="return validateForm(this);">
  2. <textarea maxlength="1000" rows="5" name="question1" placeholder=""></textarea><br><br>
  3. <textarea maxlength="1000" rows="5" name="question2" placeholder=""></textarea><br><br>
  4. <textarea maxlength="1000" rows="5" name="question3" placeholder=""></textarea><br><br>
  5. <textarea maxlength="1000" rows="5" name="zawod" placeholder=""></textarea><br><br>
  6. <textarea maxlength="1000" rows="5" name="wyksztalcenie" placeholder=""></textarea><br><br>
  7. <textarea maxlength="1000" rows="5" name="wiek" placeholder=""></textarea><br><br>
  8. <textarea maxlength="1000" rows="5" name="opis" placeholder=""></textarea><br><br>
  9. <textarea maxlength="1000" rows="5" name="umiejetnosci" placeholder=""></textarea><br><br>
  10. <button type="submit" name="pierwsze">pierwsze</button> <br>
  11. <button type="submit" name="srodkowe">srodkowe</button> <br>
  12. <button type="submit" name="koncowe">koncowe</button> <br>
  13. <button type="submit" name="wszytskie">wszytskie</button> <br>
  14. </form>


Chciałbym, aby JS po kliknieciu przycisku:
a) wszytskie - sprawdzał czy użytkownik wypełnij wszytskie pola fromularza, jeżeli NIE to powinien być komunikat
B) pierwsze - sprawdzal czy uzytkownik wypelniij pole question1, question2 oraz question3. Reszta nie powinna byc sprawdzana.
c) srodkowe - sprawdzal czy uzytkownik wypelniij pole zawod, wyksztalcenie oraz wiek. Reszta nie powinna byc sprawdzana.
d) koncowe - sprawdzal czy uzytkownik wypelniij pole opis oraz umiejetnosci. Reszta nie powinna byc sprawdzana.

Na chwile obecną działa wyłącznie przypadek "a". Jak zmodyfikować kod java script aby zadzialaly pozostale przypadki ?

Z góry dzięki za pomoc

Początkujacy
trueblue
Te wszystkie opcje mają działać jednocześnie, tj. najpierw sprawdzany punkt a, potem b, itd., czy ma być kilka wersji tego skryptu z różnymi opcjami weryfikacji?
imie_nazwisko
Ma być kilka wersji tego skryptu z różnymi opcjami weryfikacji.
Weryfikacja zależna od kliknięcia w button
trueblue
Czyli jeśli dobrze rozumiem, ma być to w jednym skrypcie.
W takim razie musisz zmienić kolejność i warunek a) sprawdzać jako ostatni, a wszystkie inne jako, że nie są zależne musisz ustawić w kolejności zależnej od Ciebie.
Sprawdzasz po kolei każdą sekcję i jeśli spełnia warunek nie sprawdzasz kolejnych.
imie_nazwisko
Jak sprawdzic w JS który button został klikniety przez użytkownika?
trueblue
Aaa, czyli jest kilka przycisków.
Do każdego przycisku przypinasz tą samą funkcję walidacji, ale dodatkowo przekazujesz do niej parametr, który w funkcji wybiera odpowiednią opcję walidacji.
imie_nazwisko
Jak powinien wyglądać kod? Jestem poczatkujacym w JS
trueblue
http://jsfiddle.net/ac4n337b/
imie_nazwisko
Dopisałem walidacje do Twojego kodu - http://jsfiddle.net/ac4n337b/3/
i niestety nie działa. Gdzie jest błąd?
trueblue
http://jsfiddle.net/ac4n337b/5/
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.