Avatar billede riversen Nybegynder
17. oktober 2002 - 09:33 Der er 7 kommentarer og
1 løsning

Validering

Jeg har en form med nogle tekstfelter og checkboxe etc. Hvordan kan jeg undersøge om alt er som det skal være, idet der trykkes på min submit knap således at data kun sendes, hvis valideringen er OK?

/René
Avatar billede jakoba Nybegynder
17. oktober 2002 - 10:48 #1
du laver en funktion der returnerer true eller false. og kativerer den i en onsubmit handler i din <form kommando:
  <form ... onsubmit="return validerFunktion( this );">
hvis onsubmit returnerer false bliver data ikke sendt.
Avatar billede jakoba Nybegynder
17. oktober 2002 - 10:58 #2
Selve funktionen skriver du i <head sektionen af din html fil

<script type='text/javascript'>

function validerFunktion( formRef ) {

    if ( formRef.feltNavn.value == "" ) {  // hvis det felt er tomt
        alert( "Du har glemt at udfylde feltet 'Navn'." );
        formRef.feltNavn.focus();
        return false; // denne test gik galt. må ikke sendes
    }

    if ( formRef.feltNr_2.value == "" ) {  // hvis det felt er tomt
        alert( "Du har glemt at udfylde feltet 'Nr 2'." );
        formRef.feltNr_2.focus();
        return false; // denne test gik galt. må ikke sendes
    }

//... osv så mange tests du vil.

    return true; // hurra. alle tests gik godt. send det

}; //end validerFunktion( HTML Form objekt ) -> boolean

</script>

mvh JakobA
Avatar billede riversen Nybegynder
17. oktober 2002 - 13:04 #3
jaaah...det virker fint...

jeg har 4 radioknapper...hvordan tjekker jeg lige om en af dem er valgt. prøvede med document.form.name.value men den returner undefined uanset om der er valgt nogle eller ej
Avatar billede riversen Nybegynder
17. oktober 2002 - 15:17 #4
please...ne1
Avatar billede jakoba Nybegynder
17. oktober 2002 - 17:40 #5
radioknapper (og checkbokse checkes anderledes:

    var knapArray = formRef.radNavn;
    for (var i=0; i<knapArray.length; i++ ) {
        if ( knapArray[i].checken ) { // text knapperne en for en
            break;  // hop ud af for-løkken hvis vi finder en valgt
        }
    }
    if ( i == knapArray.length ) {  // vi fandt ikke nogen
        alert( "Du har glemt at vælge een i radiofeltet 'navn'." );
        formRef.radNavn.focus();
        return false; // denne test gik galt. må ikke sendes
    }

mvh JakobA
Avatar billede jakoba Nybegynder
17. oktober 2002 - 17:41 #6
ups      checken  skal være  checked  (ender med det 'd')
        if ( knapArray[i].checked ) { // text knapperne en for en
Avatar billede riversen Nybegynder
17. oktober 2002 - 18:09 #7
jeg har 4 radioknapper...deres name proberty er "operativ". Jeg har så lavet en metode der skal skriver operativ.length i en alert boks...men jeg får en script fejl, at operativ ikke er defineret
Avatar billede riversen Nybegynder
17. oktober 2002 - 18:10 #8
eheh...jeg er vidst træt...ligemeget :-)
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