Avatar billede fangel Nybegynder
02. august 2003 - 16:25 Der er 14 kommentarer og
1 løsning

Validering af dropdown menuer!

Hej

jeg har et uvidst antal dropdown menuer der hedder "selDept_X"

hvor X er et tal

det der skal valideres er om _EN_ af disse er sat til en

value="superID"

hvis ja skal funktionen returnere false

---

kan dette laves?

Morten
Avatar billede roenving Novice
02. august 2003 - 16:32 #1
Sådan ?-)
function checkDept(){
var i = 0;
while (document.getElementById("selDept_"+i)){
  if(document.getElementById("selDept_"+i).value=="superID"){
    return false;
  }
  i++;
}
Avatar billede fangel Nybegynder
02. august 2003 - 16:34 #2
men skal det ikke være den selectede value ;) (dårlig til js - men synes at have set det før)

Morten
Avatar billede roenving Novice
02. august 2003 - 16:42 #3
Er det nogle selects ?-)

Så skal det være:

function checkDept(){
var i = 0;
while (document.getElementById("selDept_"+i)){
  sel = document.getElementById("selDept_"+i);
  if(sel.options[sel.selectedIndex].value=="superID"){
    return false;
  }
  i++;
}

-- havde godt nok lige kastet et kvart øje på navnet, men havde ikke gennemskuet den !-)
Avatar billede fangel Nybegynder
02. august 2003 - 16:48 #4
lige 2 ting til:

1) skal det ligge i <head> før det virker?

2) hvis nu der er et tal der mangler?, kan du lave det så den køre op til et tal jeg sætter (form der bliver genereret fra database)

Morten
Avatar billede fangel Nybegynder
02. august 2003 - 16:51 #5
ok, funktionen virker,

men med <form ... onSubmit="checkDept();"> kommer den frem (har sat en window.alert() på), men formen bliver alligevel submit'et

Morten
Avatar billede fangel Nybegynder
02. august 2003 - 16:52 #6
ok, nu virker alt undtagen det tidligere punkt 1...

Morten
Avatar billede roenving Novice
02. august 2003 - 16:53 #7
1. Jeg plejer selv at placere alle mine scripts inden for head-tagget, men det eneste krav er, at det er placeret inden for html-tags (og jeg tror det vil give problemer _før_ <head> !-)

2. -- Så vil det være nødvendigt at kende antallet, ja !-)
Avatar billede roenving Novice
02. august 2003 - 16:54 #8
<form ... onSubmit="return checkDept();">
Avatar billede roenving Novice
02. august 2003 - 16:56 #9
function checkDept(){
var numSels = <%=$numSels%>;
for (i=0;i<numSels;i++){
  sel = document.getElementById("selDept_"+i);
  if(sel.options[sel.selectedIndex].value=="superID"){
    return false;
  }
  i++;
}
Avatar billede roenving Novice
02. august 2003 - 16:57 #10
-- og så er numSels det virkelige antal (altså f.eks. 3 selects, som hedder 0, 1 og 2 !-)
Avatar billede roenving Novice
02. august 2003 - 16:58 #11
i++ skal sæ'fø'li' væk !!
Avatar billede fangel Nybegynder
02. august 2003 - 17:16 #12
det virker bare bonus... lægger du et svar?

Morten
Avatar billede roenving Novice
02. august 2003 - 17:26 #13
Kom lige til at tænke på den der med hvis der mangler et nummer i rækken ?-)

function checkDept(){
  var numSels = <%=$numSels%>;
  for (i=0;i<numSels;i++){
    if(document.getElementById("selDept_"+i)){
      sel = document.getElementById("selDept_"+i);
      if(sel.options[sel.selectedIndex].value=="superID"){
        return false;
      }
    }
  }
}

-- velbekomme '-)
Avatar billede fangel Nybegynder
02. august 2003 - 17:27 #14
fino... du får pointene

Morten
Avatar billede roenving Novice
02. august 2003 - 17:34 #15
-- og tak for dem ;~}
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