Avatar billede rasmus_damberg Nybegynder
24. juni 2008 - 08:11 Der er 3 kommentarer og
1 løsning

Validering af tal i formular

Jeg har simpelthen prøvet alle mulige løsninger, men ingen har vist sig at virke endnu. Er der nogen der har et bud på hvordan jeg kan få valideret at felterne:

tlfnr1, postnr, hojde_cm, fdag_dag, fdag_mnd, fdag_aar

bliver valideret at de er indtastet som tal i formen?

Here goes:

<script language='JavaScript' type='text/JavaScript'>
<!--

function validate(){
    if(document.form1.fornavn.value=='')
        {
        alert('Udfyld venligst fornavn');
        return false;
        }
    if(document.form1.efternavn.value=='')
        {
        alert('Udfyld venligst efternavn');
        return false;
        }
    if(document.form1.adresse.value=='')
        {
        alert('Udfyld venligst adresse');
        return false;
        }
    if(document.form1.by.value=='')
        {
        alert('Udfyld venligst by');
        return false;
        }
    if(document.form1.postnr.value=='')
        {
        alert('Udfyld venligst postnummer');
        return false;
        }
    if(document.form1.tlfnr1.value=='')
        {
        alert('Udfyld venligst telefonnummer');
        return false;
        }
    if(document.form1.hojde_cm.value=='')
        {
        alert('Udfyld venligst højde');
        return false;
        }
    if(document.form1.fdag_dag.value=='')
        {
        alert('Udfyld venligst fødselsdag');
        return false;
        }
    if(document.form1.fdag_mnd.value=='')
        {
        alert('Udfyld venligst fødselsmåned');
        return false;
        }
    if(document.form1.fdag_aar.value=='')
        {
        alert('Udfyld venligst fødselsår');
        return false;
        }
    if (!document.form1.medlem[0].checked && !document.form1.medlem[1].checked){

        alert("Vælg venligst om du er medlem");
        return false;}
    var elms = document.form1.elements["medlemstype[]"], bFound = false;
    for (var i=0,j=elms.length; i<j; i++) {
        bFound = bFound || elms[i].checked;
    }
    if (!bFound)
        {
        alert('Vælg venligst medlemstype');
        return false;
        }
   
       
    else    {
        return true;
            }
}
//-->

</script>
Avatar billede w13 Novice
24. juni 2008 - 09:38 #1
Du kan måske skrive:

    if(parseInt(document.form1.tlfnr1.value)==NaN)
        {
        alert('Du skal skrive tal som tlf.nr.');
        return false;
        }
Avatar billede w13 Novice
24. juni 2008 - 09:40 #2
Hvis dét ikke virker, kan du bruge:

    if(parseInt(document.form1.tlfnr1.value)!=document.form1.tlfnr1.value)
        {
        alert('Du skal skrive tal som tlf.nr.');
        return false;
        }

Det kan dog gøres meget smartere med reg.exp., men det har jeg ikke helt styr på.
Avatar billede w13 Novice
24. juni 2008 - 09:45 #3
Ok, med reg.exp. kan du nøjes med:

    if(!document.form1.tlfnr1.value.match(/^\d$/))
        {
        alert('Du skal skrive tal som tlf.nr.');
        return false;
        }
Avatar billede roenving Novice
24. juni 2008 - 13:33 #4
Til telefonnummeret er det nok (hvis det er danske !-) hensigtsmæssigt at bruge:

    if(!document.form1.tlfnr1.value.match(/^\d{8}$/)){
        alert('Du skal skrive tal som tlf.nr.');
        return false;
    }

-- da ovenstående vil checke om værdien består af præcis eet tal, en mere avanceret løsning vil være at bruge f.eks. [2-9]\d{7}, så det kun bliver almindelige numre, der accepteres !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

IT-JOB