Na niektorych strankach je dolezite, aby uzivatel zadal spravne udaje do formulara. Casto sa vsak posiela zo servra vstup z formularov spat kvoli chybne zadanym udajom. JavaScript obsahuje funkcie pomocou ktorych je mozne skontrolovat, ci uzivatel zadal spravne udaje do formulara a vyhneme sa takto posielaniu dat na skontrolovanie na server.
Uvedieme si jednoduchy priklad formulara, v ktorom uzivatel zadava svoje meno a e-mail:
Co sa tyka prveho vstupu, uzivatel v pripade, ze do neho nevlozi ziaden text objavi sa mu chybove hlasenie. Druhy vstup ocakava vlozenie e-mail adresy. Kedze kazda e-mail adresa obsahuje @, ked uzivatel nezada adresu s @, opat sa objavi chybove hlasenie.
Zdrojovy text:
<html> <head> <script language="JavaScript"> function test1(form) { if (form.text1.value == "") alert("Please napiste retazec!") else { alert("Ahoj "+form.text1.value+"! Obsah formulara je OK!"); } } function test2(form) { if (form.text2.value == "" || form.text2.value.indexOf('@', 0) == -1) alert("Chybna e-mail adresa!"); else alert("OK!"); } </script> </head> <body> <form name="first"> Napiste svoje meno:<br> <input type="text" name="text1"> <input type="button" name="button1" value="Test" onClick="test1(this.form)"> <P> Napiste svoj e-mail:<br> <input type="text" name="text2"> <input type="button" name="button2" value="Test" onClick="test2(this.form)"> </body> |
7.1 Posielanie textu z formulara
Ake su moznosti pre vyslanie obsahu formulara ? Najjednoduchsie je vyslat obsah vstupu cez e-mail. Toto je sposob, na ktory sa zameriame. V minulosti existoval jediny sposob, a tym bolo pouzitie CGI skriptov. Ukazeme si, ako sa to da spravit bez CGI:
<FORM METHOD=POST
ACTION="mailto:unknown@unknown.sk?Subject=Formular"
ENCTYPE="text/plain"> <H3>Paci sa Vam tato stranka?</H3> <INPUT NAME="choice" TYPE="RADIO" VALUE="1">Vobec sa mi nepaci!<BR> <INPUT NAME="choice" TYPE="RADIO" VALUE="2" CHECKED>Strata casu!<BR> <INPUT NAME="choice" TYPE="RADIO" VALUE="3">Najhorsia stranka na Internete.<BR> <INPUT NAME="submit" TYPE="SUBMIT" VALUE="Posli!"> </FORM> |
Existuje sposob, ako je mozne uzivatelsky sprijemnit formulare. Mozete definovat, ktory prvok formulara ma byt zvyrazneny na zaciatku. Alebo mozete povedat prehliadacu, aby zvyraznil prvok vo formulari, do ktoreho uzivatel vlozil chybne udaje.
function setfocus() { document.first.text1.focus(); return; } |
Tento skript zvyrazni prvy prvok formulara. Musite specifikovat nazov formulara, v nasom pripade je to first. Ked chcete zvyraznit prvok formulara po nahrati stranky musite do znacky <body> pridat parameter onLoad:
<body onLoad="setfocus()"> |