© Henrik Jensen - ViewSource.dk
Dansih Version   English Version


 Form Validering
Skrevet af: Henrik Jensen / 30-09-2001

Læst 7190 gange
Hvis du bruger FORMs på din sider, er det meget nyttigt at kunne sikre sig at brugeren har udfyldt alle de felter i din form som du har påtænkt, det gøres f.eks vha. JavaScript.

Vi skal se på et eksempel med en FORM hvor brugeren skal indtaste sit Navn og Email Adresse, derfor indsættes flg HTML kode på siden

<form action="insertmail.asp" method="POST" name=emailform onSubmit="return MailCheck(emailform.email.value);">
Navn: 
<input type= "Text" name= "username" size25> <br><br>
Email adresse: 
<input type= "Text" name= "email"size="25"> <br><br>
<input type="Submit" value="  Send  ">
</form>


Inden formen bliver sendt til siden insertmail.asp kalder vi Javascriptet MailCheck(emailform.email.value) vha. formens OnSubmit event, Javascriptet der kaldes skal se sådan ud

<SCRIPT LANGUAGE="JavaScript">
<!--
function MailCheck ()
 {
   if (document.emailform.username.value == "")
 {
   alert("Venligst indsæt dit Navn");
    document.emailform.username.focus();
    return false;
 }
 {
   if (document.emailform.email.value == "")
 {
   alert("Venligst indsæt din email adresse");
    document.emailform.email.focus();
    return false;
 }
   if (document.emailform.email.value.indexOf("@") == -1)
 {
   alert("Du har glemt @ i din Email adresse");
   document.emailform.email.focus();
   return false;
 }
   if (document.emailform.email.value.indexOf(".") == -1)
 {
   alert("Du har glemt . i din Email adresse");
   document.emailform.email.focus();
   return false;
 }
 }
// -->
</SCRIPT>


Der sker følgende i JavaScript Checket

Først Checkes der on Brugeren har indtastet noget i Navn & Email feltet således

   if (document.emailform.username.value == "")
 {
   alert("Venligst indsæt dit Navn");
    document.emailform.username.focus();
    return false;

dvs. er der ikke indtastet et Navn - kommer der en Alert Boks frem på skærmen hvori der står at brugeren skal huske at indtaste sit Navn, feltet Navn får da Focus så brugeren let kan indsætte navnet og trykke på Submit igen. Det samme Check laves med Email Adressen således

 {
   if (document.emailform.email.value == "")
 {
   alert("Venligst indsæt din email adresse");
    document.emailform.email.focus();
    return false;
 }

Nu kommer vi til den sidste del af JavaScriptet, den lidt mere avanceret del. Denne del er der kun brug for hvis det er en email adresse brugeren skal indtaste - vi skal nemlig til at checke om det er en gyldig email adresse der er blevet indtastet

   if (document.emailform.email.value.indexOf("@") == -1)
 {
   alert("Du har glemt @ i din Email adresse");
   document.emailform.email.focus();
   return false;
 }
   if (document.emailform.email.value.indexOf(".") == -1)
 {
   alert("Du har glemt . i din Email adresse");
   document.emailform.email.focus();
   return false;
 }

Først checkes der på om det brugeren har indtastet indeholder tegnet @ som jo skal forefindes i en email adresse, og på samme måde checkes der bagefter om tegnet . forefindes i det indtastede. Hvis brugeren har udfyldt felterne korrekt vil formen nu blive sendt, hvis ikke vil der komme en passende fejl meddelse på skærmen. 

God Kodning :-)