![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 230 Pomógł: 3 Dołączył: 8.01.2008 Ostrzeżenie: (10%) ![]() ![]() |
Zastanawiam się, jakby można zoptymalizować funkcję js do sprawdzania danych wprowadzonych w formularzu przez użytkownika, której do tej pory używałem:
Kod function check(to){ var error=""; if(to.pwd.value!=to.pwd2.value) error="Podane hasła różnią się!"; if(to.login.value==""){ if(error!="") error+="\n"; error+="Podaj login!"; } if(to.pwd.value==""){ if(error!="") error+="\n"; error+="Podaj hasło!"; } if(to.email.value==""){ if(error!="") error+="\n"; error+="Podaj adres e-mail!"; } if(error=="") to.submit(); else alert(error); } I w formularzu: Kod onSubmit="check(this);return false;" Skrypt działa, ale przy sprawdzaniu każdego pola muszę dopisywać (warunkowo) znak nowej linii - "\n". W PHP załatwiłem to tak: Kod <? php $error=''; function addMess($mess){ global $error; if(!empty($error)) $error.='<br />'; $error.=$mess; } if($_POST['pwd']!=$_POST['pwd2']) addMess('Podane hasła nie zgadzają się!'); if(strlen($_POST['login'])<3 || strlen($_POST['login'])>30) addMess('Login może mieć od 3 do 30 znaków'); ... itd. if($error==''){ wyślij formularz } else{ echo $error; }?> Ale jak coś podobnego w JS napisać? Próbowałem napisać funkcję podobną do tej addMess z PHP - ale nie wiem jak w js w funkcji edytować zmienną globalną. Proszę o rady jak taki skrypt napisać ![]() Narazie załatwiłem to tak: Kod function check(to){ var error=""; if(to.pwd.value!=to.pwd2.value) error+="Podane hasła różnią się!\n"; if(to.login.value=="") error+="Podaj login!\n"; if(to.pwd.value=="") error+="Podaj hasło!\n"; if(to.email.value=="") error+="Podaj adres e-mail!\n"; if(error=="") to.submit(); else alert(error+"Proszę poprawić błędy i wysłać formularz ponownie."); } Kod się nieco skrócił, ale ma może ktoś lepsze pomysły na zorganizowanie tej funkcji? ![]() Ten post edytował Apocalyptiq 24.10.2008, 18:50:44 -------------------- http://estender.net - profesjonalne strony i aplikacje internetowe (Ruby on Rails, Kohana PHP)
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 18:41 |