Pagina de start a forumului Comunitatea JustUs  
FAQ Cautare
Membri Grupuri
Profil Mesaje private
Inregistrare Autentificare
Obiectul Form - 2
Creaza un subiect nou   Raspunde la subiect    Pagina de start a forumului Comunitatea JustUs Tutoriale JavaScript
Subiectul anterior :: Subiectul urmator  
Autor Mesaj
Elektro_Love
Administrator
Administrator
Elektro_Love

Data inscrierii: 21/Iul/2010
Mesaje: 101

MesajTrimis: 22/07/2010 11:49    Titlul subiectului: Obiectul Form - 2 Raspunde cu citat (quote)

1. Utilizarea metodei focus si select

Cu metodele focus() si select() puteti adauga formulaului anumite urmări grafice si sa selectati casetele dorite.
Puteti defini care element sa atraga atentia la inceput.
Puteti oferă navigatorului sa revina în locul din formular unde au fost introduse datele gresite, astfel browser-ul va pozitiona cursorul în elementul din formular specificat. Acest fapt se poate face printr-un script ca cel din exemplul urmator

Citat:
<script type="text/javascript">
<!--
function setfocus () {
document.nume_form.nume_camp.focus();
}
//-->
</script>


- Unde "nume_form" este numele formularului specfificat in atributul "name" din eticheta <form> iar "nume_camp" este numele campului din formular unde va fi pozitionat cursorul (specificat in atributul "name" din eticheta campului respecftiv).
Daca doriti sa atrageti atentia sau sa pozitionati cursorul asupra unui anumit element din formular atunci cand pagina este incarcata, adaugati o proprietate "onload" in eticheta <body>, ca in exdemplu urmator :
<body onload="setfocus()">
Iata un al exemplu in care campul dorit dintr-un formular atrage atentia si este si selectat :

Citat:
<html>
<head>
<title>Titlu</title>
<script type="text/javascript">
<!--
function setfocus () {
document.form1.camp2.focus();
document.form1.camp2.select();
}
//-->
</script>
</head>
<body onload="setfocus()">
<form name="form1">
<input type="text" name="camp1" value="un text"> <br>
<input type="text" name="camp2" value="text selectat">
</form>
</body>
</html>


- Daca adaugati codul de mai sus intr-un document HTML, cand il veti deschide cu un browser va fi selectat automat textul din campul doi.
2. Validarea si verificarea datelor introduse in formular

De cele mai numeroase ori folosim formulare pentru ca datele introduse in astea sa fie trimise inapoi la server pentru procesare sau prin posta electronica catre un cont de email.
Cu ajutorul JavaScript datele introduse intr-un formular pot fi cu usurinta verificate inainte de a fi transmise, astfel putem usura traficul si in plus ne putem asigura ca s-au transmis date corecte. De exemplu: sa nu se transmita inputuri fara date în ele, sau ca o adresa e-mail sa contina caracterul @.
Pentru a intelege mai bine vom folosi un exemplu ce contine un formular cu 2 elemente text: "nume" si "email" si un buton "Submit" pt. trimiterea datelor. Vizitatorul trebuie sa introduca numele în primul text si adresa de e-mail în al doilea. Pentru verificarea este adaugat un script JavaScript care verifica datele introduse inainte ca acestea sa fie trimise la server.

Citat:
<html>
<head>
<title>Titlu</title>
<script type="text/javascript">
<!--
function verifica(form) {
if (form.nume.value == "") {
alert("Va rog introduceti numele dvs.");
return false;
}
else if (form.email.value == "" || form.email.value.indexOf('@', 0) == -1 || form.email.value.indexOf('.', 0) == -1) {
alert("Scrieti perfect adresa de e-mail !");
return false;
}
return true;
}
// -->
</script>
</head>
<body>
<form name="form1" action="test.php" method="post">
Scrieti numele dvs.:<br>
<input type="text" name="nume"> <br>
Adaugati adresa de e-mail :<br>
<input type="text" name="email"> <br>
<input type="submit" name="submit" value="Trimite" onClick="return verifica(this.form)">
</form>
</body>
</html>


- Functia "verifica()" este apelata in eticheta butonului submit prin metoda "onClick="return verifica(this.form)"", argumentul "this.form" este transmis catre functie si face referire la elementele din formularul curent. Astfel, cand este apasat butonul "Trimite" se executa degrabă functia "verifica()".
Aceasta verifica cu întâia instructiune "if" daca elementul "nume" din formular are valoarea nula (adica nu a fost scris nici un caracter), se compara cu "" pentru a verifica daca sirul este gol. Daca valoarea este nula conditia "if" primeste valoarea "adevarata" si se executa, deschide o fereastra Alert si apoi returneaza "false" (astfel datele nu mai sunt trimise). Daca in casuta "nume" este adaugat vreun caracter valoarea acesteia nu mai e nula (sirul nu e gol) si conditia "if(form.nume.value == "")" nu mai este adevarata si se trece la executia urmatoarei linii de cod a functie.
A doua instructiune "else if (form.email.value == "" || form.email.value.indexOf('@', 0) == -1 || form.email.value.indexOf('.', 0) == -1)" este ceva mai complicata, verifica daca valoarea elementului "email" din formular este nula sau (prin operatorul "OR" ||) daca acesta nu contine caracterele '@' sau punct (.); aceasta fiindcă orice adresa de e-mail trebuie sa contina cele doua caractere. Daca la verificarea celor trei conditii (valoare nula, lipsa caracterului '@' si lipsa caracterului punct) vreuna din ele este adevarata, instructiunea "else if" se executa si va deschide o fereastra Alert apoi returneaza "false'.
In caz contrar, daca nici una din conditiile instructiunii "if", "else if" nu este adevarata, functia "verifica()" returneaza "true" si datele vor fi trimise la server.

- Puteti introduce orice în formular si apoi apasati butonul "Trimite". De asemenea incercati sa nu introduceti nimic si sa apasati butonul, sau la campul pt. email adaugati o adresa incompleta (fara @ sau(.)). Veti vedea rezultatul acestui script.
Daca introduceti datele corect nu va apare nici un mesaj.
- In exemplul de mai sus puteti folosi in loc de metoda "onClick()" din eticheta butonlui Submit, metoda "onSubmit()", aceasta se adauga direct in eticheta <form>, dupa cum este prezentat mai jos:
<form name="form1" action="test.php" method="post" onSubmit="return verifica(this)">
Rezultatul va fi acelasi.

_________________
[url=http://www.fodey.com/generators/animated/ninjatext.asp]Obiectul Form - 2 Obiectul Form - 2[/url]
Vezi profilul utilizatorului Trimite mesaj privat
Afiseaza mesajele pentru a le previzualiza:   
Creaza un subiect nou   Raspunde la subiect    Pagina de start a forumului Comunitatea JustUs Tutoriale JavaScript Ora este GMT + 3 ore
Pagina 1 din 1

 
Mergi direct la:  
Nu puteti crea un subiect nou in acest forum
Nu puteti raspunde in subiectele acestui forum
Nu puteti modifica mesajele proprii din acest forum
Nu puteti sterge mesajele proprii din acest forum
Nu puteti vota in chestionarele din acest forum
ezHyperShadow template - a boo design Original ezHyperShadow theme by boo ©2004 www.ez-life.net
Powered by phpBB © 2001, 2002 phpBB Group
Fa-ti si tu propriul forum GRATUIT, pe www.myforum.ro