Hjælp javascriptet fejler....den melder fejl, men sender...
Hjælp javascriptet fejler. Jeg har lavet noget javascript som validere input dataerne fra formen når brugeren kliker på \"opret\". Når brugeren så indtaster noget forkert skal javascriptet vise hvor fejlen er. Men i mit tilfælde viser den fejlen og forsætter vmed at oprette. Altså den stopper ikke efter at have fundet fejlen. Hjælp mig med at løse dette problem.Forneden er mit javascript som laver fejlen.
<Script language=\"javascript\">
function skrivBy ()
{
var nr = document.form.post.value;
var Navn;
switch ( nr )
{
<%
by.movefirst
while not by.eof
%>
case \"<%= by(\"postnr\") %>\" :
ByNavn = \"<%= by(\"bynavn\") %>\";
break;
<%
by.movenext
wend
%>
default :
Navn=\"Postnummer findes ikke\";
break;
}//switch
document.form.by.value = ByNavn;
}
<!--
//global variable for error flag
var errfound = false;
//længde af text streng
function ValidLength(item, len) {
return (item.length >= len);
}
// email adresse kontrol
function gyldigEmail(email) {
ugyldigeTegn = \" /:,;\"
// Må ikke være tom
if (email == \"\") {
return false
}
// Indeholder den ugyldige tegn?
for (i=0; i<ugyldigeTegn.length; i++) {
fejlTegn = ugyldigeTegn.charAt(i)
if (email.indexOf(fejlTegn,0) > -1) {
return false
}
}
// Der skal være et @-tegn
paaPos = email.indexOf(\"@\",1)
if (paaPos == -1) {
return false
}
// Og kun et @-tegn
if (email.indexOf(\"@\",paaPos+1) != -1) {
return false
}
punktumPos = email.indexOf(\".\",paaPos)
// og mindst et punktum efter @-tegnet
if (punktumPos == -1) {
return false
}
// der skal være mindst 2 tegn efter punktummet
if (punktumPos+3 > email.length) {
return false
}
return true
}
// Postnr kontrol?
function erTal(afgivetVaerdi) {
if (afgivetVaerdi == \"\") {
return false
}
for (i=0; i<afgivetVaerdi.length; i++) {
if (afgivetVaerdi.length < 4) {
return false
}
if (afgivetVaerdi.charAt(i) > \"9\") {
return false
}
}
return true
}
// fejlmeddelelse
function error(elem, text) {
// stop hvis fejl
if (errfound) return;
window.alert(text);
elem.select();
elem.focus();
errfound = true;
}
// kontrolfunktion
function Validate() {
errfound = false;
if (!ValidLength(document.form.fornavn.value,2))
error(document.form.fornavn,\"Ugyldig fornavn!\");
if (!ValidLength(document.form.efternavn.value,3))
error(document.form.efternavn,\"Ugyldig efternavn!\");
if (!ValidLength(document.form.adresse.value,8))
error(document.form.adresse, \"Ugyldig adresse!\");
if (!erTal(document.form.postnr.value))
error(document.form.postnr,\"Postnummeret er ugyldigt\");
if (!ValidLength(document.form.bynavn.value,3))
error(document.form.bynavn, \"Ugyldig bynavn!\");
if (!gyldigEmail(document.form.email.value))
error(document.form.email, \"Ugyldig email adresse!\");
if (document.form.kvalifikationer.selectedIndex == -1)
error(document.form.kvalifikationer, \"Du skal vælge mindst én kvalifikation\");
return !errfound; /* sand hvis ingen error fundet */
}
// -->
</script>