Validare de Formulare cu Javascript
Validare E-mail
Pentru aceasta validare vom folosi doua functii javascript: evalid() si everif().
Prima functie verifica daca s-a scris ceva in campul pentru email si nu cumva a fost lasat gol.
A doua functie verifica daca textul introdus are formatul tipic unei adrese de email: daca contine @ , daca are cel putin un punct, daca punctul nu este cumva plasat imediat inaintea lui @ sau imediat dupa el si daca nu cumva contine mai mult de doua caractere @ .
<script language = "Javascript"> function everif(str) { var at="@" var punct="." var lat=str.indexOf(at) var lstr=str.length var lpunct=str.indexOf(punct) if (str.indexOf(at)==-1){ alert("E-mail invalid. Introduceti o adresa reala!!!") return false } if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){ alert("E-mail invalid. Introduceti o adresa reala!!!") return false } if (str.indexOf(punct)==-1 || str.indexOf(punct)==0 || str.indexOf(punct)==lstr){ alert("E-mail invalid. Introduceti o adresa reala!!!") return false } if (str.indexOf(at,(lat+1))!=-1){ alert("E-mail invalid. Introduceti o adresa reala!!!") return false } if (str.substring(lat-1,lat)==punct || str.substring(lat+1,lat+2)==punct){ alert("E-mail invalid. Introduceti o adresa reala!!!") return false } if (str.indexOf(punct,(lat+2))==-1){ alert("E-mail invalid. Introduceti o adresa reala!!!") return false } if (str.indexOf(" ")!=-1){ alert("E-mail invalid. Introduceti o adresa reala!!!") return false } return true } function evalid(){ var emailID=document.eFormular.txtEmail if ((emailID.value==null)||(emailID.value=="")){ alert("Va rog sa introduceti o adresa de email") emailID.focus() return false } if (everif(emailID.value)==false){ emailID.value="" emailID.focus() return false } return true } </script> <form name="eFormular" method="post" action="#" onSubmit="return evalid()"> <p>Enter an Email Address : <input type="text" name="txtEmail"> </p> <p> <input type="submit" name="Submit" value="Submit"> </p> </form> |
EXEMPLU
Validare Butoane Radio si Checkbox
In caz ca sunt mai multe variante de raspuns la o intrebare si doriti sa se poata alege doar una este suficient treceti nume identice butoanelor radio care sunt cuprinse in acea intrebare. Vom folosi javascript pentru a ne asigura ca formularul nu va fi trimis fara sa fie bifat un raspuns la fiecare intrebare.
Introducem functia check_buttons care va indica spre fisierul care sa preia datele din formular numai in cazul in care s-a raspuns la fiecare rubrica. Vom verifica asta cu IF, parcurgand inainte fiecare buton ca pe un array cu FOR.
<script language="Javascript"> function check_buttons() { for(i=0; i<4; i++) for (j=0; j<4; j++) { if(document.form1.intr1[i].checked==true) { if(document.form1.intr2[j].checked==true) { document.form1.action="rezultat.php"; } } } return; } </script> <form name="form1" method="post" onSubmit="javascript:check_buttons();" action=""> 1. Cate limbaje de programare cunosti? <p> <input type="radio" name="intr1" value="a" > a. Nici unul<br> <input type="radio" name="intr1" value="b" > b. 1<br> <input type="radio" name="intr1" value="c" > c. 2<br> <input type="radio" name="intr1" value="d" > d. 3<br> </p> 2. De cat timp esti interesat de Web Design? <p> <input type="radio" name="intr2" value="a"> a. De cand m-am nascut<br> <input type="radio" name="intr2" value="b"> b. De mai mult de 10 ani<br> <input type="radio" name="intr2" value="c"> c. De mai putin de 10 ani<br> <input type="radio" name="intr2" value="d"> d. De Ieri<br> </p> <input type="submit" value="Trimite formularul"> </form> |
EXEMPLU
Bineinteles ca formularul nostru este doar un exemplu si nu face trimitere nicaieri.
Articole asemanatoare »
Tutorial complet JavaScript (prima parte)