Avatar billede andersthingholm Nybegynder
09. juni 2004 - 15:43 Der er 8 kommentarer og
1 løsning

tjek på om indhold er et tal

Hvordan udvider jeg denne til også at tjekke om indholdet i formTime er et helt tal?

    function validateForm() {
       
          var error = 0;
         
          // Tjekker er der er skevet noget indhold
        if((document.forms[0].formDate.value=='') && (error==0)) {       
            alert('Du mangler at udfylde en dato');
            document.forms[0].formTime.focus();
            error = 1;       
        }
        else if((document.forms[0].formTime.value=='') && (error==0)) {       
            alert('Du mangler at udfylde antal minutter');
            document.forms[0].formTime.focus();
            error = 1;       
        }
        else if((document.forms[0].formDescription.value=='') && (error==0)) {       
            alert('Du mangler at udfylde en beskrivelse');
            document.forms[0].formDescription.focus();
            error = 1;       
        }
        else if((document.forms[0].selectActivity.value=='') && (error==0)) {       
            alert('Du mangler at vælg en aktivitet');
            error = 1;       
        }

        if(error == 0){
            //document.forms[0].submit();   
            return true;
        }
        else {
            return false;
        }   
    }
Avatar billede mm12010 Nybegynder
09. juni 2004 - 15:45 #1
(document.forms[0].formTime.value==''||!document.forms[0].formTime.value.match(/^\d$/))
Avatar billede andersthingholm Nybegynder
09. juni 2004 - 15:49 #2
Virker tilsyneladende ikke:

    function validateForm() {
       
          var error = 0;
         
          // Tjekker er der er skevet noget indhold
        if((document.forms[0].formDate.value=='') && (error==0)) {       
            alert('Du mangler at udfylde en dato');
            document.forms[0].formTime.focus();
            error = 1;       
        }
        else if((document.forms[0].formTime.value=='') && (error==0)) {       
            alert('Du mangler at udfylde antal minutter');
            document.forms[0].formTime.focus();
            error = 1;       
        }
        else if((document.forms[0].formDescription.value=='') && (error==0)) {       
            alert('Du mangler at udfylde en beskrivelse');
            document.forms[0].formDescription.focus();
            error = 1;       
        }
        else if((document.forms[0].selectActivity.value=='') && (error==0)) {       
            alert('Du mangler at vælg en aktivitet');
            error = 1;       
        }
        else if(!document.forms[0].formTime.value.match(/^\d$/) && (error==0)) {       
            alert('Tid skal være et tal');
            document.forms[0].formTime.focus();
            error = 1;       
        }




        if(error == 0){
            //document.forms[0].submit();   
            return true;
        }
        else {
            return false;
        }   
    }
Avatar billede roenving Novice
09. juni 2004 - 15:50 #3
Etcifret ?-)

-- og da der alligevel checkes med regexp'en kan vi lige så godt:

else if((!document.forms[0].formTime.value.match(/^\d+$/)) && (error==0)) {
Avatar billede andersthingholm Nybegynder
09. juni 2004 - 15:58 #4
Sådan - smider du et svar?
Avatar billede roenving Novice
09. juni 2004 - 16:09 #5
Har du brug for to forskellige fejlmeddelelser på det samme felt ?-)

-- og hvis du alligevel ikke skal bruge error til noget kan du undlade den:

    function validateForm(f) {
          // Tjekker er der er skevet noget indhold
        if(f.formDate.value=='') {       
            alert('Du mangler at udfylde en dato');
            f.formDate.focus();
            return false;
        }
        else if(!f.formTime.value.match(/^\d+$/)) {       
            alert('Du skal udfylde antal minutter (kun tal !-)');
            f.formTime.focus();
            return false;
        }
        else if(f.formDescription.value=='') {       
            alert('Du mangler at udfylde en beskrivelse');
            f.formDescription.focus();
            return false;
        }
        else if(f.selectActivity.value=='') {       
            alert('Du mangler at vælg en aktivitet');
            return false;
        }
            return true;
    }

og så skal du have referencen i form-tagget:

<form ... onsubmit="return validateForm(this);">
Avatar billede roenving Novice
09. juni 2004 - 16:10 #6
-- og alle else'erne kan også udelades ...
Avatar billede andersthingholm Nybegynder
28. juni 2005 - 09:19 #7
roenving, smider du et svar?
Avatar billede roenving Novice
28. juni 2005 - 11:17 #8
Velbekomme '-)
Avatar billede roenving Novice
28. juni 2005 - 11:34 #9
-- og tak for point ;~}
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