14. december 2006 - 14:59Der er
3 kommentarer og 1 løsning
validering af formular
Hej Eksperter.
Jeg har lavet en formular på min hjemmeside som skal bruges til at hent personlige oplysninger om brugeren. For at brugeren ikke kan sende tomme forumlare ønsker jeg at kontrollere felterne inden de sendes. Jeg har fundet ud af at kontrollere at felterne ikke er tomme.
function validering() { error = 0;
if((document.forms[0].navn.value=='') && (error==0)) { alert('Du skal udfylde feltet med dit navn!'); document.forms[0].navn.focus(); error = 1; }
if((document.forms[0].adresse.value=='') && (error==0)) { alert('Du skal udfylde feltet med din adresse!'); document.forms[0].adresse.focus(); error = 1; }
if((document.forms[0].postnr.value=='') && (error==0)) { alert('Du skal udfylde feltet med dit postnummer!'); document.forms[0].postnr.focus(); error = 1; }
if((document.forms[0].by.value=='') && (error==0)) { alert('Du skal udfylde feltet med din by!'); document.forms[0].by.focus(); error = 1; }
if((document.forms[0].telefon.value=='') && (error==0)) { alert('Du skal udfylde feltet med dit telefonnummer!'); document.forms[0].telefon.focus(); error = 1; }
if((document.forms[0].email.value=='') && (error==0)) { alert('Du skal udfylde feltet med din email adresse!'); document.forms[0].email.focus(); error = 1; }
if(error == 0) document.forms[0].submit(); }
men jeg ønsker at kontrollere at der i postnummer kun indtastes tal. At der i telefon nummer kun indtastes tal. At der i emailadressen indgår @ og . Er der en venlig sjæl der kan hjælpe mig med det? med venlig hilsen Peter
-- og så kan den gøres voldsomt meget simplere, hvis du tager udgangspunkt i form-tagget:
<form ... onsubmit="return validering(this);">
function validering(f){ if(f.navn.value==''){ alert('Du skal udfylde feltet med dit navn!'); f.navn.focus(); return false; } if(f.adresse.value==''){ alert('Du skal udfylde feltet med din adresse!'); f.adresse.focus(); return false; } if(f.postnr.value=='' || !f.postnr.value.match(/^\d+$/)){ alert('Du skal udfylde feltet med dit postnummer!'); f.postnr.focus(); return false; } if(f.by.value==''){ alert('Du skal udfylde feltet med din by!'); f.by.focus(); return false; } if(f.telefon.value=='' || !f.telefon.value.match(/^\d+$/)){ alert('Du skal udfylde feltet med dit telefonnummer!'); f.telefon.focus(); return false; } var mail = f.email.value; if(mail=='' || mail.indexOf("@")<1 || mail.indexOf(".") < 2){ alert('Du skal udfylde feltet med din email adresse!'); f.email.focus(); return false; } return true; }
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.