Avatar billede flashit Nybegynder
24. december 2005 - 09:09 Der er 7 kommentarer og
1 løsning

Validering af tal virker ikke.

Hej E.

Jeg har denne funktion.

<SCRIPT language="JavaScript">
function ValiderBMI() {
   
    mNv=form2.Hoejde.value;
    if (isNaN(mNv)) {
        alert('Højden skal angives som tal.');
        return false;
    }
   
    mNv=form2.Hoejde.value;
    if (mNv > "300") {
        alert('BMI testeren kan kun tage en højde op til 3 meter.');
        return false;
    }
   
    mNv=form2.Hoejde.value;
    if (mNv=='') {
        alert('Højden skal udfyldes. Udfyld venligst feltet.');
        return false;
    }
   
    mNv=form2.Vaegt.value;
    if (isNaN(mNv)) {
        alert('Vægten skal angives som tal.');
        return false;
    }
   
    mNv=form2.Vaegt.value;
    if (mNv > "400") {
        alert('BMI testeren kan kun tage en vægt op til 400 kg.');
        return false;
    }
   
    mNv=form2.Vaegt.value;
    if (mNv=='') {
        alert('Vægten skal udfyldes. Udfyld venligst feltet.');
        return false;
    }
}

</script>

Men hvorfår retunere den false når man indtaster 4 i et af felterne.

Jeg tror at den indsætter nuller efter det man har indtastet. Men der er da bare underligt. eller :-)
Avatar billede erikjacobsen Ekspert
24. december 2005 - 09:13 #1
Du skal ikke sætte "..." omkring dine tal i sammenligningerne. Og du skal huske en return true, hvis alt går godt.
Avatar billede erikjacobsen Ekspert
24. december 2005 - 09:17 #2
Og det du får ind fra felter er altid strenge, og ikke tal. Derfor giver det ikke mening at bruge isNaN. Du skal nok som det første lave det til et tal:

  mNv=parseInt(form2.Hoejde.value);
Avatar billede flashit Nybegynder
24. december 2005 - 09:24 #3
Hej Erik

Vil det sige at det skal være sådanne:

function ValiderBMI() {
   
    mNv=parseInt(form2.Hoejde.value);
    if (isNaN(mNv)) {
        alert('Højden skal angives som tal.');
        return false;
    }
   
    mNv=parseInt(form2.Hoejde.value);
    if (mNv > 300) {
        alert('BMI testeren kan kun tage en højde op til 3 meter.');
        return false;
    }

    kode
       
return true;
}
</script>

/jakob
Avatar billede erikjacobsen Ekspert
24. december 2005 - 09:29 #4
Det ser rigtigt ud - virker det?
Avatar billede flashit Nybegynder
24. december 2005 - 09:34 #5
Det kan jeg ikke lige teste, da jeg er på en anden computer.
Men det virker jo altid når du har været indeover :-)

Tak for hjælpen.

Hvordan er det nu med dig og Points.??
Avatar billede flashit Nybegynder
24. december 2005 - 09:40 #6
Virker perfekt.....
Der var sgu installeret notepad på denne pc ;-)
Avatar billede erikjacobsen Ekspert
24. december 2005 - 10:19 #7
Ingen point til mig, tak. Prøv også lige at teste i andre browsere end IE.
Avatar billede flashit Nybegynder
29. december 2005 - 11:19 #8
Tak til Erik
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