Avatar billede majer Nybegynder
19. oktober 2001 - 15:26 Der er 7 kommentarer og
1 løsning

Validering af 3 udvalgte text felter og input felter

Er der nogen der har et bud på, hvordan man checker om 3 bestemte felter er udfyldt/valgt. Et af felterne er et text felt de to andre felter er select.
De skal alle tre være true før at valideringen er OK!
I den form jeg har lavet er der ca. 10 form felter, derfor skal valideringen kun være for ovenstående felter.
Avatar billede beatone Nybegynder
19. oktober 2001 - 15:30 #1
Sæt det her ind et sted på din side:

<script>
<!--
function validate()
{

var dittextfield = \"\"
var check1 = \"\"
var check2 = \"\"
fejl = 0

if ((document.dinformsnavn.dittextfield.value==\"\")){
var dittextfield = \"\\n- dittextfield\"
fejl = fejl+1}

if ((document.dinformsnavn.check1.value==\"\")){
var check1 = \"\\n- check1\"
fejl = fejl+1}

if ((document.dinformsnavn.check2.value==\"\")){
var check2 = \"\\n- Firma check2\"
fejl = fejl+1}

if (fejl>0){
alert (\"Du har ikke udfyldt...\\n\"+dittextfield+check1+check2)
return false
}
}
//-->
</script>

...Og sæt onsubmit ind i dit Form tag:

<Form action=\"save.asp\" method=\"post\" name=\"dinformsnavn\"\" onsubmit=\"return validate()\">

og så skulle den være klaret...
Avatar billede majer Nybegynder
19. oktober 2001 - 15:34 #2
det prøver jeg .......og så kan vi se om du får dine 30 point - he he
Avatar billede mipe1 Nybegynder
19. oktober 2001 - 15:39 #3
eksempel:

<html>
<head>
<title>validering</title>


<script type=\"text/javascript\" language=\"JavaScript\">
<!--
    function validateForm(form){
        valid = false;
        if (form.streng.value != \"\"){
            valid = true;
        } else {
            alert(\'Tekst må ikke være tom\');
            valid= false;
        }
        if(form.selectgruppe.selectedIndex==0){
            valid = valid && true;
            alert(\'select 1\');
        }
        if(form.selectgruppe.selectedIndex==1){
            valid = valid && true;
            alert(\'select 2\');
        }

        return valid;
    }

-->
</script>
</head>
<body>



<form action=# method=\"post\" onSubmit=\"return validateForm(this)\">
  Selectfelt
        <select name=\"selectgruppe\" >
            <option>select 1</option>
              <option>select 2</option>
        </select>       
   
        Tekst
        <input type=\"text\" name=\"streng\">
       
        <input type=\"submit\" value=\"go for it!\">
   
</form>


</body>
</html>
Avatar billede jakoba Nybegynder
19. oktober 2001 - 15:43 #4
et  select felt er pr definition altid valgt. det bliver født med første valgmulighed valgt medmindre man beder om noget ande ved at skrive selectet i options.

hvis vi går ud fra at første valgmulighed ikke tæller som et valg (eg en infotekst som \"- vælg noget her. -\" kan det laves med et lille script:

<script language=\'javascript\'>

var feltNavne = new Array( \"feltA\", \"feltB\", \"feltC\" );
                    // navnene på de felter der skal checkes.

function validate ( frm ) {

    for (var i=0; feltNavne.length > i; i++ ) {
        var flt = frm[feltNavne[i]];
        if ( flt.type==\'text\' && flt.value.length==0 )
            return false;
        if ( flt.type.indexOf(\'select\')==0 && flt.selectedIndex==0 )
            return false;
    }
    return true;  // alle tests gik godt

}; //end validate ( Form objekt ) -> boolean

<form ... onsubmit=\"return validate(this)\">

<input name=\"feltA\" ... >
<select name=\'feltB\' ... >

</form>
de felter der skal testes skal have en  name= parameter med de værdier du skriver i arrayet øverst.

mvh JakobA
Avatar billede beatone Nybegynder
19. oktober 2001 - 15:46 #5
lol....rent copy/paste helvede vi har sendt majer ud i :))
Avatar billede majer Nybegynder
19. oktober 2001 - 15:58 #6
function validateform()
{
var msg;
var Title = \"\";
var Cat = \"\";
var type = \"\";
var fejl = 0;           
                   
if (document.nr.Title.value == \"\") {
var Title = \"\\n - Title\";
fejl = fejl + 1;
}
                   
if (document.nr.Cat.value == \"\") {
var Cat = \"\\n - Cat\";
fejl = fejl + 1;
}

if (document.nr.type.value == \"\") {
var type = \"\\n - type\";
fejl = fejl + 1;
}
msg += \"- Remember to fill out Title, Category and Type! \";
                   
if (fejl > 0) {
alert(msg);       
return false;   
}
}

Ja det virkede ikke helt efter hensigten. Ja fejl meddelelsen kom hvis de tre felter var tomme, men den bliver ved med at vise fejlmeddelelsen, selvom de er udfyldt. Ikke korrekt.
Avatar billede majer Nybegynder
19. oktober 2001 - 16:14 #7
<<jakoba>> dit eksempel kunne jeg slet ikke få til at virke....scriptet returnere true selvom der intet er indtaste......
Avatar billede jakoba Nybegynder
19. oktober 2001 - 16:34 #8
sært. det virker ok her:
http://www.jakoba.dk/eksperten/exp122976.html

mvh JakobA
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