Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Walidacja formularza
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
Spexik
Witam,
Mam pytane odnośnie poniższego skryptu. Kiedy w formularzu IMIE zostawiam pustę to alert wyskakuje, ale kiedy wpisuję w okienko jako pierwszy znak małą literę, albo coś co literom nie jest to i tak mi przechodzi nie bardzo wiem gdzie jest błąd. Chodzi o Walidację JS
  1. <head>
  2. <meta http-equiv="content-type" content="text/html; charset=windows-1250">
  3. </head>
  4. <body>
  5. <script >
  6. function SprImie(){
  7. var imieU=document.formularz.imie.value
  8. if(!imieU){
  9. alert("Podaj swoje imię");return
  10. }
  11. var imieReg=new RegExp("^[A-Z]{1}[a-z]{1,}$")
  12. var FinishImie=imieU.match(imieReg)
  13. if(FinishImie){
  14. if(FinishImie[0].length == imieU.length){
  15. alert("Imię wpisane poprawnie")
  16. return
  17. }
  18. alert ("Blad imienia!")
  19. }
  20. }
  21. <form id="formularz" name="formularz" method="post">
  22. <legend>Dane</legend>
  23. <label for="imie">Imię:</label><input type="text" name="imie" id="imie" value="" />
  24. <label for="nazwisko">Nazwisko:</label><input type="text" name="nazwisko" id="nazwisko" value="" />
  25. <input type="submit" value="Zapisz" onClick="SprImie()"/>
  26. </form>
  27. </body>
  28. </html>


Szukałem w sieci pomocy, ale ciężko coś złowić sad.gif
jacobson
Warto skorzystac z biblioteki jQuery tak ogolnie, a poza tym czy warto walidowac pole pod wzgledem tego czy pierwsza litera jest duza ? Czesto ludzie zapisuja infomacje w formularzu na szybko malymi literami, a walidacje i tak glownie sie wykonuje po stronie serwera smile.gif
http://stackoverflow.com/questions/5122402...ter-of-variable
Spexik
Wymagania profesora z liceum względem uczniów informatyki sad.gif
Da się zrobić coś takiego bez jQuery kolega się już o to pytał, i że nie wolno nam jquery stosować. Będę więc wdzięczny z zerknięcie gdzie jest błąd
biozen
Chodzi Ci o takie coś?
  1. <html>
  2. <head>
  3. <meta http-equiv="content-type" content="text/html; charset=windows-1250">
  4. </head>
  5. <body>
  6. <script type="text/javascript">
  7. function SprImie(){
  8. var imieU=document.formularz.imie.value
  9.  
  10. if(!imieU)
  11. alert("Podaj swoje imię");
  12.  
  13. var imieReg=new RegExp("^[A-Z]{1}[a-z]{1,}$")
  14. var FinishImie=imieU.match(imieReg)
  15.  
  16. if(FinishImie)
  17. {
  18. if(FinishImie[0].length == imieU.length)
  19. alert("Imię wpisane poprawnie")
  20. }
  21. if(!FinishImie && imieU !== "")
  22. alert ("Blad imienia!")
  23. }
  24. </script>
  25. <form id="formularz" name="formularz" method="post">
  26. <fieldset>
  27. <legend>Dane</legend>
  28. <label for="imie">Imię:</label><input type="text" name="imie" id="imie" value="" />
  29. <label for="nazwisko">Nazwisko:</label><input type="text" name="nazwisko" id="nazwisko" value="" />
  30. </fieldset>
  31. <fieldset>
  32. <input type="submit" value="Zapisz" onClick="SprImie()"/>
  33. </fieldset>
  34. </form>
  35. </body>
  36. </html>
Spexik
Działa dzięki, dzięki, dzięki smile.gif

A jeszcze pytanie, jak mogę dopisać funkcję aby po pokazaniu komunikatu wróciło ale nie usuwało danych :/
biozen
<form id="formularz" name="formularz" method="post" onsumit="return false">
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.