Avatar billede kjoller Nybegynder
24. oktober 2001 - 10:52 Der er 3 kommentarer og
1 løsning

hvorfor vil den ikke virke??

Jeg har en js funktion som tjekker om henholdsvis en af flere radiobuttons er tjekket samt et tekst felt er udfyldt og til sidst om et select windue er valgt, men den virker ikke, hvad er der i vejen?

function validate(form){
  var isOK = true
  for (i=0;i<document.forms[form].pension.length;i++){

      if (document.forms[form].pension[i].checked == false) {
        isOK = false
          }   
    }

    if(document.forms[form].destland.value.length == 0){
        isOK = false
    }
   
    var temp = document.forms[form].valuta;
    if(temp[temp.selectedIndex].value<=0){
    isOK = false
      }
       
      if(isOK==false){
    alert(\'Du mangler at udfylde et eller flere af felterne\')
    }
  return isOK
}
Avatar billede Slettet bruger
24. oktober 2001 - 18:14 #1
Hvilken slags fejl får du?
Her er mit bud på et forbedret script. Det ville være noget nemmere, hvis der også var noget HTML at gå efter, men here goes:

function validate(form){
var isOK = true;
for (i=0; i < document.forms[form].pension.length; i++) {
if (document.forms[form].pension[i].checked == false) {
isOK = false;
break;
}
}
if (document.forms[form].destland.value.length == 0) isOK = false;
if (document.forms[form].valuta.selectedIndex == 0) isOK = false;
if (!isOK==false) alert(\'Du mangler at udfylde et eller flere af felterne\');
return isOK;
}

Jeg tror, din fejl ligger i selectbox-tjekket! Men hvis ovenstående ikke virker efter hensigten, så post noget mere HTML!
Avatar billede kjoller Nybegynder
25. oktober 2001 - 14:00 #2
Jeg kan ikke få dem til at virke sammen, jeg kan få dem til at virke hver for sig, dvs hvis jeg laver et tjek på radio eller select så virker det fint

<form action=\"#\" method=\"post\" name=\"sendforespoergsel\" onsubmit=\"return validate(\'sendforespoergsel\')\">

<select name=\"valuta\" class=\"normalsort\">
<option value=\"\">- Vælg -</option>
<option value=\"DKK\">DKK</option>
<option value=\"SEK\">SEK</option>
<option value=\"EUR\">EUR</option>
<option value=\"DEM\">DEM</option>
<option value=\"USD\">USD</option>
</select>
<input type=\"radio\" value=\"1/4\" name=\"pension\">
<input type=\"radio\" value=\"1/2\" name=\"pension\">
<input type=\"radio\" value=\"Hel\" name=\"pension\">
Avatar billede Slettet bruger
25. oktober 2001 - 16:49 #3
function validate(form){
var isOK = false;
for (i=0; i < document.forms[form].pension.length; i++) {
if (document.forms[form].pension[i].checked == true) {
isOK = true;
break;
}
}
if (isOK == true && document.forms[form].destland.value.length == 0) isOK = false;
if (isOK == true && document.forms[form].valuta.selectedIndex == 0) isOK = false;
if (isOK == false) {
alert(\'Du mangler at udfylde et eller flere af felterne!\');
return false;
}
return true;
}

Jeg har prøvet at \"vende\" radiobutton-tjekket om, men jeg tjekker det lige selv!
Avatar billede Slettet bruger
25. oktober 2001 - 16:57 #4
Nu virker det:

function validate(form){
var isOK = false;
for (i=0; i < document.forms[form].pension.length; i++) {
if (document.forms[form].pension[i].checked == true) {
isOK = true;
break;
}
}
if (isOK == true && document.forms[form].destland.value.length == 0) isOK = false;
if (isOK == true && document.forms[form].valuta.selectedIndex == 0) isOK = false;
if (isOK == false) {
alert(\'Du mangler at udfylde et eller flere af felterne!\');
return false;
}
return true;
}

Jeg går ud fra, at du har tjek på \"destland\"-tekstboksens tjek, for den gav du mig ikke HTML-koden til.
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