Avatar billede majer Nybegynder
16. oktober 2001 - 16:50 Der er 9 kommentarer og
1 løsning

Validering af form med select og text felter

Er der nogen der har et godt eksempel på, hvorledes man kan validerer om min. et input felt er udfyldt, når der er input felterne select og text, gentagne gange??


Avatar billede nute Nybegynder
16. oktober 2001 - 17:01 #1
<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">

<html>
<head>
    <title>Untitled</title>
    <SCRIPT LANGUAGE=\"JavaScript\" TYPE=\"text/javascript\">
  <!--
  function checkForm(){
      for( i=0; i<document.form.elements.length; i++ ){
          elemObj  = document.form.elements[i];
          elemType = elemObj.type;
            if( elemType.indexOf(\"select\") > -1 ){
              if( elemObj.selectedIndex > 0 ) {
                  return true;
                }
            }
            if( elemType.indexOf(\"text\") > -1 ){
              if( (elemObj.value).length > 0 ) {
                  return true;
                }
            }
        }
        return false;
    }
  //-->
  </SCRIPT>
</head>

<body>
<form name=\"form\" onsubmit=\"return checkForm( this.form );\">
<select name=\"sel1\">
<option value=\"\">Valg 1</option>
<option value=\"\">Valg 2</option>
<option value=\"\">Valg 3</option>
</select><br>
<input type=\"text\" name=\"txt2\"><br>
<select name=\"sel1\">
<option value=\"\">Valg 1</option>
<option value=\"\">Valg 2</option>
<option value=\"\">Valg 3</option>
</select><br>
<input type=\"text\" name=\"txt2\"><br>
<select name=\"sel3\">
<option value=\"\">Valg 1</option>
<option value=\"\">Valg 2</option>
<option value=\"\">Valg 3</option>
</select><br>
<input type=\"text\" name=\"txt3\"><br>
<input type=\"submit\">

</form>


</body>
</html>

/nute
Avatar billede jakoba Nybegynder
16. oktober 2001 - 17:01 #2
kommer lidt an på hvad du mener med \'udfyldt\' når der snakkes om en <select.

valgt noget andet end default?
Avatar billede fri-hash Nybegynder
16. oktober 2001 - 17:04 #3
<script>
function valform(form)
{
if(form.FØRSTEFELTNAVN.value != \"\")
{ return true }
if(form.ANDETFELTNAVN.value != \"DEFAULTVÆRDI\")
{ return true }

osvosv

return false
}
</script>

onsubmit=\"return valform(this)\"


Avatar billede nute Nybegynder
16. oktober 2001 - 17:09 #4
hov...ser at jeg har kanskje skrevet det litt \"uforståelig\". JEg var noe egentlig på vei til å skrive 2 ting på en gang, og det resulterte i noe merkelig noe :)

Denne linje:

<form name=\"form\" onsubmit=\"return checkForm( this.form );\">

skal skrives om til:

<form name=\"form\" onsubmit=\"return checkForm();\">

deretter så forutsetter jeg at den første verdi i hver select er default, og at denne ikke kan velges. Derfor så skal du legge inn fx. en tom option i starten av hver <select>

fri-hash >> din løsning er jo ikke særlig generisk. Man skal kjenne til hvert form element...det er litt kjedelig...

/nute
Avatar billede fri-hash Nybegynder
16. oktober 2001 - 17:18 #5
det er muligt, nute :-), men den virker og burde være let at rette til til det specifikke formål

Avatar billede nute Nybegynder
16. oktober 2001 - 17:22 #6
fri-hash >> men det er jo dét som er hensikten med mitt eksempel...det trenger du overhodet ikke rette til, til noe som helst spesielt formål...
Avatar billede majer Nybegynder
16. oktober 2001 - 19:46 #7
nute >> Tusind tak for hjælpen ;-)
Det var skønt, da jeg har siddet i mange timer og fumlet med problemet...

Avatar billede nute Nybegynder
16. oktober 2001 - 19:57 #8
anytime :)
Avatar billede majer Nybegynder
16. oktober 2001 - 20:12 #9
Nute >> Jeg har iøvrigt endnu et spørgsmål.
JavaScript\'et fungerer perfekt, MEN jeg skulle gerne kunne skrive en fejlmeddelse ud, hvis bare en af if-sætningerne er true......
Hvordan løser jeg så denne problemstilling??!!

Avatar billede jakoba Nybegynder
16. oktober 2001 - 20:20 #10
lige før linien
        return true

skriver du en alert()
fx
              if( elemObj.selectedIndex > 0 ) {
                  alert (\"der blev valgt noget i en select boks.\" )
                  return true;
                }
og ligesådan i den anden if sætning.

men er det ikke snarere en OK-melding
Fejlen er hvis ingen af den er true. den skriver du på sammen måde, blot lige før sætningen
    return false.
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