Jeg har brygget lidt pseudo-kode, som ville være mit bud på koden... men jeg ved ingenting om javascript desværre.
<script type="text/JavaScript"> function valider(frm) { if (!frm.email.value.match(/^[a-z0-9_\.]+@[a-z0-9_\.]+\.\w{2,4}$/i)) { alert("Fejl i email-feltet!"); return false; } if (!frm.navn.value(må ikke være 0 antal tegn) { alert("Fejl i navne-feltet!"); return false; } if (!frm.besked.value(må ikke være 0 antal tegn) { alert("Fejl i besked-feltet!"); return false; } return true; } </script>
Jeg tror sådan set bare, det er sådan her: ------------------------------------------ <script type="text/JavaScript"> function valider(frm) { if (!frm.email.value.match(/^[a-z0-9_\.]+@[a-z0-9_\.]+\.\w{2,4}$/i)) { alert("Fejl i email-feltet!"); return false; } if (!frm.navn.value=="") { alert("Fejl i navne-feltet!"); return false; } if (!frm.besked.value=="") { alert("Fejl i besked-feltet!"); return false; } return true; } </script> -------------------------- Håber du kan bruge det. =)
Jeg har lagt den nye kode ind, men alligevel er det kun reglen om e-mail, som fungerer. De andre regler ignoreres helt. Der mangler et eller andet før de andre regler aktiveres...
Jeg har fundet ud af, at de to sidste regler skal stå i modsat fortegn... Prompt kommer nemlig op hvis der ER tastet noget i felterne. Jeg ved bare ikke hvordan jeg får den vendt til modsat. Nogle der kan hjælpe med den lille ting?
Det er fordi at du returnerer false i hvert if sætning, du returnerer derfor altid efter den første if sætning. Jeg har et lidt anderledes forslag nedenfor, der viser samtlige fejl i en alert boks. Ved ikom syntaksen er helt i orden.
<script type="text/JavaScript"> function valider(frm) { var error = ""; if (!frm.email.value.match(/^[a-z0-9_\.]+@[a-z0-9_\.]+\.\w{2,4}$/i)) { error += "Fejl i email-feltet!"; } if (!frm.navn.value=="") { error += "Fejl i navn-feltet!"; } if (!frm.besked.value=="") { error += "Fejl i beskedl-feltet!"; } if(error.Length > 0) { alert(error); return false; } return true; } </script>
p_nilsson> jeg har sat koden ind på siden, men nu kommer der slet ikke nogen prompt op... kan godt være jeg overser noget nede i selve <form> koden eventuel?
-- og det kan tilføjes, at valideringen af e-mailen er en oldsag, da der efter den gældende standard (rfc 2821) ikke kan valideres for tegn foran @-tegnet, samt at der i dag findes tld'er på 6 bogstaver, så dette
if (!frm.email.value.match(/^[a-z0-9_\.]+@[a-z0-9_\.]+\.\w{2,4}$/i)) {
-- skal f.eks. udskiftes med:
if (!frm.email.value.match(/^.*@\w[\w\.]*\.[a-z]{2,6}$/i)) {
roenving > tak for info, jeg vil helt sikkert rette det lidt til næste gang jeg retter på siden :-)
Synes godt om
Ny brugerNybegynder
Din løsning...
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.