Avatar billede mkilic Nybegynder
19. marts 2001 - 11:23 Der er 3 kommentarer

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>
Avatar billede jakoba Nybegynder
19. marts 2001 - 12:49 #1
din form bør inedholde  onsubmit=\'return Validate()\'  i din <form kommando.

<form ... onsubmit=\'return Validate()\'>

har du husket return?
funktionen validate må ikke kaldes andre steder fra. bliver den det?

læg evt en kopi at formen hvis det ikke er nok.

mvh JakobA
Avatar billede mkilic Nybegynder
19. marts 2001 - 13:52 #2
Det har jeg gjort!
Avatar billede jakoba Nybegynder
19. marts 2001 - 22:01 #3
så kan jeg ikke hjælpe mere uden at se koden til resten af siden. Har du mulighed for at lægge den på nettet et sted?  hvis ikke kan du cut&paste den ind her.
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester