e-gradiva     HTML CSS JavaScript Načrtovanje    
  logotip  
SERŠ Maribor Iskanje Primeri

form onsubmit

Koda:
<script type="text/javascript">
function preveri()
{
var prvo = parseInt(document.forms.test.prvo.value);
var drugo = parseInt(document.forms.test.drugo.value);
var izhod;
if ( (prvo >= 1) && (drugo >= 0) && (prvo >= drugo))
 izhod = true;
else
 {
 alert("V prvo polje je potrebno vpisati...");
 izhod = false;
 }
return izhod;
}
</script>

<form action="form_submit.html"  id="test"
onsubmit="return preveri()">
<p>prvo število (večje): <input name="prvo" /><br />
drugo število (manjše): <input name="drugo" /></p>
<p><input type="submit" value="Preveri!"></p>
</form>
Izgled v
brsklalniku
V obrazec vpiši dve števili, prvo mora biti večje od drugega:

prvo število (večje):
drugo število (manjše):

Razlaga: onsubmit je dogodek, ki nam pride prav, ko hočemo sprejeti obrazec v CGI. onsubmit lahko uporabljamo za preverjanje napak v podatkih obrazca, ta pa nam, če je napaka najdena prekliče sprejemanje. Na primer, ta obrazec <form ...> pokliče funkcijo v JavaScript, da preveri podatke:
<form
 action="../cgi-bin/html/mycgi.pl"
 id="testform"
onsubmit="return preveri()"
 >

onsubmit mora biti v obliki onsubmit="return", da lahko prekličemo izvajanje izraza ali funkcije. return nam pove, da se vrednost povrne na začetno vrednost gumba submit. če bo izraz napačen, bo vrednost submita preklicana, v nasprotnem primeru se bo izvajanje nadaljevalo.

Poglejmo celotno kodo. Naredimo obrazec, v katerega tehnik lahko vpiše, koliko proizvodov je bilo testiranih in koliko jih je test opravilo. Pri takšnem obrazcu, bi verjetno radi testirali:

  • če je bil testiran eden ali več izdelkov
  • koliko izdelkov je test prestalo
  • če so test prestali vsi

onsubmit je dober način, da preizkusimo podatke, preden so poslani v CGI, vendar kot na karkoli v JavaScript, se ni dobro preveč zanašati na brezhibnost. Možnost napak preverite tudi v programu CGI.

SERŠ Maribor : Strokovna gimnazija : 2004 : Vitjan Muršec