22. juni 2004 - 18:47Der er
18 kommentarer og 1 løsning
hvorfor virker det ik?
<script language="JavaScript"> function formCheck() { if (document.post.brugernavn.value == "") { alert("Du skal skrive dit navn"); document.post.brugernavn.focus(); return false } if ((document.post.password.value != document.post.gentagpassword.value) && (document.post.gentagpassword.value)) { alert('Adgangskoden matcher ikke bekræftelses adgangskoden!'); document.post.password.focus(); return (false); } if (document.post.password.value == '') { alert('Du skal skrive en adgangskode!'); document.post.password.focus(); return (false); } if (document.post.gentagpassword.value == '') { alert('Du skal skrive en bekræftelses adgangskode!'); document.post.gentagpassword.focus(); return (false); } if ((document.post.email.value != '') && (document.post.email.value.indexOf("@") == -1)) { alert("Du glemte et @ i din e-mail!"); document.post.email.focus(); return false; } if ((document.post.email.value != '') && (document.post.email.value.indexOf(".") == -1)) { alert("Du glemte et . (punktum) i din e-mail!"); document.post.email.focus(); return false; } if (document.post.alder.value == "") { alert("Du skal skrive din alder"); document.post.alder.focus(); return false; } if(!document.post.alder.value.match(/\d+$/)){ alert('Du må kun bruge tal i din alder'); document.post.alder.focus(); return false; } if (document.post.alder.value < 15) { alert("Du skal mindst være 15 for at bruge denne service"); document.post.alder.focus(); return false; } if (document.post.gruppe.value == "") { alert("Du skal skrive din gruppe"); document.post.gruppe.focus(); return false; } if (document.post.division.value == "") { alert("Du skal skrive din division"); document.post.division.focus(); return false; } if (document.post.hojde.value == "") { alert("Du skal skrive din højde"); document.post.hojde.focus(); return false; } if(!document.post.hojde.value.match(/\d+$/)){ alert('Du må kun bruge tal i din højde'); document.post.hojde.focus(); return false; } if (document.post.vagt.value == "") { alert("Du skal skrive din vægt"); document.post.vagt.focus(); return false; } if(!document.post.vagt.value.match(/\d+$/)){ alert('Du må kun bruge tal i din vægt'); document.post.vagt.focus(); return false; } if(document.post.dag.value != "") && (!document.post.dag.value.match(/^(0?[1-9]|[12]\d|3[01])$/)){ alert('ulovlig dag'); document.post.dag.focus(); return false; }
i dette tilfælde bør det i hvert fald være: <form onsubmit="return formCheck();"> samtidig med at man tillægger roenvings første kommentar til funktion.
hvad er fejlen egentlig - bringer den en fejl eller virker den ikke som forventet?
Forresten er det her lidt mærkeligt sat op: if ((document.post.password.value != document.post.gentagpassword.value) && (document.post.gentagpassword.value)) { alert('Adgangskoden matcher ikke bekræftelses adgangskoden!'); document.post.password.focus(); return (false); } if (document.post.password.value == '') { alert('Du skal skrive en adgangskode!'); document.post.password.focus(); return (false); } if (document.post.gentagpassword.value == '') { alert('Du skal skrive en bekræftelses adgangskode!'); document.post.gentagpassword.focus(); return (false); }
Det giver vel mere mening først at teste om password og gentagpassword er udfyldt, og dernæst teste om de er ens: if (document.post.password.value == '') { alert('Du skal skrive en adgangskode!'); document.post.password.focus(); return (false); } if (document.post.gentagpassword.value == '') { alert('Du skal skrive en bekræftelses adgangskode!'); document.post.gentagpassword.focus(); return (false); } if ((document.post.password.value != document.post.gentagpassword.value)) { alert('Adgangskoden matcher ikke bekræftelses adgangskoden!'); document.post.password.focus(); return (false); }
Jamen ok, da. Jeg har ikke kigget efter flere fejl, men ret if(document.post.dag.value != "") && (!document.post.dag.value.match(/^(0?[1-9]|[12]\d|3[01])$/)){ til if(document.post.dag.value != "" && !document.post.dag.value.match(/^(0?[1-9]|[12]\d|3[01])$/)){ og se hvad der sker. Hvordan kan du leve med en browser, der ikke fortæller dig, at der er noget galt? Hvilken bruger du?
jeg ka sige så meget at fejlen ligger nok i det her: if(document.post.dag.value != "" && !document.post.dag.value.match(/^(0?[1-9]|[12]\d|3[01])$/)){ alert('ulovlig dag'); document.post.dag.focus(); return false; }
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.