Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [JavaScript]zdarzenie na input type=text w momencie wyslania formularza
tog
post 29.12.2009, 02:57:07
Post #1





Grupa: Zarejestrowani
Postów: 93
Pomógł: 4
Dołączył: 1.12.2009
Skąd: lublin

Ostrzeżenie: (0%)
-----


witam

napisalem sobie prosty skrypcik walidacyjny


  1.  
  2. <form action="#" method="post" onsubmit="return register()">
  3. <input type="text" id="nick" name="nick"><br />
  4. <span id="er_nick"></span><br />
  5. <input type="text" id="mail" name="nick"><br />
  6. <span id="er_mail"></span><br />
  7. <button>rejestruj</button>
  8.  
  9. <script type="text/javascript" src="functions.js"></script>
  10.  
  11.  




  1.  
  2. function register()
  3. {
  4. var nick = document.getElementById('nick').value;
  5. var mail = document.getElementById('mail').value;
  6.  
  7. ret = 0
  8.  
  9. if(nick == '')
  10. {
  11. document.getElementById('er_nick').innerHTML = 'musisz wpisac imie'
  12. }
  13. else
  14. {
  15. document.getElementById('er_nick').innerHTML = ''
  16. ++ret
  17. }
  18.  
  19. if(mail == '')
  20. {
  21. document.getElementById('er_mail').innerHTML = 'musisz wpisac mail'
  22. }
  23. else
  24. {
  25. document.getElementById('er_mail').innerHTML = ''
  26. ++ret
  27. }
  28.  
  29. if(ret == 2)
  30. {
  31. ret = true
  32. }
  33. else
  34. {
  35. ret = false
  36. }
  37.  
  38. return ret
  39. }
  40.  


sprawa ma sie dobrze, tylko chcialbym zrobic tak aby funckja byla bardziej uniwersalna
poki co to mam tylko sztywny blok kodu, do ktorego nic nie przekasuje
gdybym dodal nowe pole to musialbym edytowac funcke
czy daloby sie zrobic wywolanie funkcji na kazdym input ?

czesciowo problem rozwiazaloby wywolanie funkcji x razy(gdzie x to ilosc pol formularza) w <form, w zdarzeniu onsubmit
a czy dalobysie wywolywac funkcje z kazdym inputem ?
Go to the top of the page
+Quote Post
erix
post 29.12.2009, 15:24:52
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Ja bym to rozwiązał w inny sposób:
  • dajesz każdemu polu funkcję wywoływaną przez onchange, która indywidualnie sprawdza zawartość pola
  • przy wysyłaniu, przechodzisz pętlą wszystkie pola wywołując zdarzenie (w JS zmienna może być funkcją, więc wystarczy uchwyt.onchange())


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 07:40