Avatar billede Slettet bruger
25. december 2001 - 12:19 Der er 3 kommentarer og
1 løsning

Formvalidering?

Jeg har fundet dette script her på eksperten:

************* SNIP ****************
    function checkForm(frmName) {
        for (i = 0; i < document.frmName.elements.length; i++) {
            var which = document.frmName.elements[i];
            var alertMsg = \"You must fill out all the mandatory fields\";

            if (which.type == \"text\") {
                if (which.value == \"\") {
                    alert(alertMsg);
                    which.focus();
                    return false;
                }
            } else if (which.type == \"textarea\") {
                  if (which.value == \"\") {
                    alert(alertMsg);
                    which.focus();
                    return false;
                }   
            } else if (which.type == \"select-one\") {
                if (which.options.selectedIndex == -1) {
                    alert(alertMsg);
                    which.focus();
                    return false;
                }
            } else if (which.type == \"select-multiple\") {
                if (which.options.selectedIndex == -1) {
                    alert(alertMsg);
                    which.focus();
                    return false;
                }
            }
        }
        return true;
    }
****************** SNIP ********************

Min Form-tag er som følger:
<form name=\"frmLitteraturStep1\" method=\"post\" action=\"litteratur.asp?action=step1\" onSubmit=\"return checkForm(this);\">


Dette giver mig fejlen:
\"document.frmName is null or not an object\"
(tror jeg nok det hedder)

Den bruger altså ikke variablen/argumentet...why?
(Scriptet ligger i en fil som includes (include file=\"xx\") i alle filer med forms.

/Dan
Avatar billede medions Nybegynder
25. december 2001 - 12:21 #1
hmm.. har ikke lige tid til at smække dem op mod hinaden.. men prøv med denne:

    function validerIndex()
    {
        if (document.forms[0].navn.value == \"\")
        {
          alert(\'Du har ikke indtaster noget navn!\'); return false
        }
   
        if (document.forms[0].email.value == \"\")
        {
          alert(\'Du har ikke indtastet nogen email adresse!\'); return false
        }
       
        if (document.forms[0].index.value == \"\")
        {
          alert(\'Du har ikke indtastet nogen besked!\'); return false
        }
       
        var index = document.forms[0].email.value.indexOf(\"@\")
       
        if (index == -1)
        {
          alert(\'Du har ikke indtastet en gyldig email adresse!\'); return false
        }
       
        if (index != document.forms[0].email.value.lastIndexOf(\"@\"))
        {
          alert(\'En e-mail adresse må kun indeholde ét @!\'); return false
        }   
    }
   
Avatar billede medions Nybegynder
25. december 2001 - 12:23 #2
eller her:

    function checkForm(frmLitteraturStep1) {
        for (i = 0; i < document.frmName.elements.length; i++) {
            var which = document.frmName.elements[i];
            var alertMsg = \"You must fill out all the mandatory fields\";

            if (which.type == \"text\") {
                if (which.value == \"\") {
                    alert(alertMsg);
                    which.focus();
                    return false;
                }
            } else if (which.type == \"textarea\") {
                  if (which.value == \"\") {
                    alert(alertMsg);
                    which.focus();
                    return false;
                }   
            } else if (which.type == \"select-one\") {
                if (which.options.selectedIndex == -1) {
                    alert(alertMsg);
                    which.focus();
                    return false;
                }
            } else if (which.type == \"select-multiple\") {
                if (which.options.selectedIndex == -1) {
                    alert(alertMsg);
                    which.focus();
                    return false;
                }
            }
        }
        return true;
    }
Avatar billede Slettet bruger
25. december 2001 - 12:36 #3
Dit første forslag duer ikke, eftersom det er til 10 forskellige forms, med forskelligt indhold - hvilket også udelukker dit andetr forslag :o/
sorry
Avatar billede Slettet bruger
25. december 2001 - 14:01 #4
Jeg omskrev ovenstående til at være baseret på formens index (forms[index]) i stedet - og så fungerede det...
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