Avatar billede cyperangel Nybegynder
26. april 2002 - 21:12 Der er 8 kommentarer og
1 løsning

validerings problemer

JEg har forsøgt at lave en formvalidering ved en onblur funktion. Den første funktion, name, virker fint, men resten virker ikke, og jeg har stirret mig blind på scriptet nu.
Hvad har jeg lavet af fejl? (læg mærke til at jeg ikke regner med at det er i ental....)
Mange tak


function navn() {
    w1 = document.minform.fornavn.value;
        if (w1.length < 2) {
            alert("Det kan da ikke passe at du ikke hedder noget til efternavn...");
            document.minform.fornavn.focus();
        }

   
       
        for (t=1; t<w1.length; t++) {
            w2 = w1.charAt(t);
            if (!(w2 >= "a" && w2 <= "z") || w2=="æ" || w2=="ø" || w2=="å") {
                alert("Medmindre du hedder R2D2, så skulle du nok fjerne de tegn der ikke er bogstaver.")
                document.minform.fornavn.focus();
               
            }
        }
}

function email() {
    e1 = document.minform.email.value;
    if (e1.length < 6) {
        alert("Der er for få tegn i din emailadresse!");
        document.minform.email.focus();
       
    }

    e2=e1.split("@");
    if (!(e2.length == 2 && e2[0].length > 0 && e2[1].length > 0)) {
        alert ("E-mail @-fejl!");
        document.minform.email.focus();
       
    }

    e3 = e2[1].split(".");
    e3l = e3.length;
    if (e3l < 2) {
        alert ("E-mail mangler et punktum!");
        document.minform.email.focus();
       
    }

    for (t=0; t<e3l; t++){
        if (e3[t].length == 0){
            alert ("E-mail mangler domæaneangivelse");
            document.minform.email.focus();
           
        }
        if (t == (e3l-1)) {
            if (e3[t].length < 2){
                alert ("E-mail topdomæne for kort (eks: .dk)");
                document.minform.email.focus();
               
            }
        }

    }
}

function telefon() {
    t1 = document.minform.telefon.value;
    if (t1.length < 8) {
            alert("For få tal i nummeret. Skriv venligst 8 tal.");
            document.minform.telefon.focus();
           
        }
        for (t=0; t<t1.length; t++) {
            t2 = t1.charAt(t);
            if (!(t2 >= "0" && t2 <= "9")) {
                  alert("TLF nummeret indeholder ulovligt tegn! Brug venligst kun tal.");
                    document.minform.telefon.focus();
                   
            }
    }
}

function dag() {
    d1 = document.minform.dag.value;
    dd1 = d1 - 0;
    if (dd1 > 31 || dd1 <= 0) {
        alert("Datoen bedes venligst holdt indenfor 1 til 31. Tak!");
                document.minform.dag.focus();
    }
}

function maaned() {
    m1 = document.minform.maaned.value;
    mm1 = m1 - 0;
    if (mm1 > 12 || mm1 <= 0) {
        alert("Måneden bedes venligst holdt indenfor 1 til 12. Tak!");
                document.minform.maaned.focus();
    }
}

function aar() {
    a1 = document.minform.aar.value;
    aa1 = a1 - 0;
    if (aa1 > 2050 || aa1 <= 1900) {
        alert("Året bedes venligst holdt indenfor 1900 og 2050. Tak!");
                document.minform.aar.focus();
    }
}



de bliver kaldt ved følgende linjer på siden

<input type="text" maxlength=32" size="16" Name="fornavn" OnBlur="navn()">

<input type="text" maxlength=32" size="16" Name="email" OnBlur="email()">

og så videre.. Jeg har allerede dobbelttjekket navnene på funktionerne og det der bliver kaldt, fejlen ligger ikke der.
Avatar billede jakoba Nybegynder
26. april 2002 - 21:30 #1
der skal også " foran 32 i
    maxlength=32"
det gælder for begge felter.
Avatar billede atn Nybegynder
26. april 2002 - 21:35 #2
Hmm...Kunne du ikke fortælle hvilke fejlmeddelse du får ?

Venligst

<ATN/>
Avatar billede jakoba Nybegynder
26. april 2002 - 21:54 #3
jeg får ikke nogen syntaksfejl. Det er slet ikke dit javascropt der er noget ivejen med. det er de 2 <input kommandoer

<input type="text" maxlength=32" size="16" Name="fornavn" OnBlur="navn()">

<input type="text" maxlength=32" size="16" Name="email" OnBlur="email()">

hvor maxlength er specificeret ulovligt.
Avatar billede atn Nybegynder
26. april 2002 - 22:01 #4
Hmm....jeg tænker bare - hvis det er som han skriver at den første virker fint....det ser ud til at der også er fejl i den...

Men jeg har heller ikke prøvet den igennem - ville ha lavet det på en anden måde i stedet...

Venligst

<ATN/>
Avatar billede =maddog= Nybegynder
27. april 2002 - 14:48 #5
Jeg synes det er en anelse dumt at spilde kundens tid med at udfylde dato når det kan ordnes med et Date() object eller bedre endnu et tilsvarende object server-side.
Avatar billede atn Nybegynder
27. april 2002 - 16:20 #6
maddog >> Hmm...hvad hvis det er kundens fødselsdag ??

Venligst

<ATN/>
Avatar billede jakoba Nybegynder
27. april 2002 - 18:12 #7
atn >> Hmm...hvad så hvis kunden er 103 år gammel? :-))

tak for points
Avatar billede =maddog= Nybegynder
27. april 2002 - 19:09 #8
atn> så er det en anden snak :). så vidt det vides er der ikke nogen client-side new Birthday() objekter.
Avatar billede atn Nybegynder
28. april 2002 - 23:22 #9
Jacoba >> Så er han sgu' gammel ! ;o) - Men det kan der jo checkes for...

Maddog >> Hehe - næ....ikke endnu....Meeeen....computeren bliver jo mere og mere inteligent ! ;o)
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