09. marts 2004 - 01:24Der er
7 kommentarer og 1 løsning
Noget går galt i check form
Jeg har et lille script der tjekker en checkboks. Så så jeg eagleeye's eksempel og ville genere bruge det, men noget går galt. Kære Eksperter kan i hjælpe?
<script language="javascript"> function validerComplete() { if( document.form1.terms.checked){ var dot = document.form1.terms.value;return true; } else { alert('Du skal acceptere betingelserne for at fortsætte!'); return false; } } function verifyemail_check(str) { if(!str.match(/^[\w]{1}[\w\.\-_]*@[\w]{1}[\w\-_\.]*\.[\w]{2,6}$/i)) { return false; } else { return true; } } if (!(form1.fornavn.value)) { alert("Du mangler at indtaste fornavn !"); form1.fornavn.focus(); return false; } if (!(form1.efternavn.value)) { alert("Du mangler at indtaste efternavn !"); form1.efternavn.focus(); return false; } if (!(form1.gade.value)) { alert("Du mangler at indtaste adresse !"); form1.gade.focus(); return false; } if (!(form1.bynavn.value)) { alert("Du mangler at indtaste by !"); form1.bynavn.focus(); return false; } if (!(form1.postnummer.value)) { alert("Du mangler at indtaste postnummer !"); form1.postnummer.focus(); return false; }
if (!verifyemail_check(form1.email.value)) { alert("Den indtastede email er ikke gyldig !"); form1.email.focus(); return false; } return true; }
Det ser ikke ud til at der er nogen funktion, som kan kaldes, til din almindelige valideringsfunktion, så den bliver vel kørt onload, hvis ikke den melder generel javascript-fejl, fordi der er en } for meget !-)
<script type="text/javascript" language="javascript"> function validerComplete() { if( document.form1.terms.checked){ //dot-værdien kan ikke bruges andre steder, hvorfor er den der så ?-) var dot = document.form1.terms.value;return true; }else { alert('Du skal acceptere betingelserne for at fortsætte!'); return false; } } function verifyemail_check(str) { if(!str.match(/^\w[\w\.\-_]*@\w[\w\-_\.]*\.[\w]{2,6}$/i)) { return false; } else { return true; } } /*Her mangler der en start på en funktion -- og det ses tydeligt med ovenstående indrykninger ... Så den efterfølgende linje er tilføjet, og nogle konsekvensrettelser foretaget, så din validering også virker hvis andre browsere end IE skulle komme forbi !-) */ function valider(f){ if (f.fornavn.value=="") { alert("Du mangler at indtaste fornavn !"); f.fornavn.focus(); return false; } if (f.efternavn.value=="") { alert("Du mangler at indtaste efternavn !"); f.efternavn.focus(); return false; } if (f.gade.value=="") { alert("Du mangler at indtaste adresse !"); f.gade.focus(); return false; } if (f.bynavn.value=="") { alert("Du mangler at indtaste by !"); f.bynavn.focus(); return false; } if (f.postnummer.value=="") { alert("Du mangler at indtaste postnummer !"); f.postnummer.focus(); return false; }
if (!verifyemail_check(f.email.value)) { alert("Den indtastede email er ikke gyldig !"); f.email.focus(); return false; } return true; }
ok jeg kan se jeg har meget at lære her :-) Men takket være din gode beskrivelse tror jeg at min forståelse er blevet bedre. Dog kan jeg ikke gennemskue hvorfor checkboksen ikke bliver valideret når den er unchecked.
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.