Avatar billede kjoller Nybegynder
17. august 2001 - 15:06 Der er 7 kommentarer og
1 løsning

hvorfor virker det ikke?

Hvorfor kan jeg ikke få den til at kontrollere om der er noget i både radio og tekst feltet ??

<html>
<head>
<script language=\"JavaScript\">
<!--
function validate(){
  var isError = false
  for (i=0;i<document.tilmeld.sp.length;i++){
 
  if (document.tilmeld.sp[i].checked == true) isError = true
  }
  if(!document.tilmeld.navn.value.length>0){
        isError = true
    }
  if(isError==false){
    alert(\'Du mangler at udfylde et eller flere af felterne\')
    }
  return isError
}


// -->
</script>
<form name=tilmeld onSubmit=\"return validate(tilmeld);\" >
<input type=radio name=sp value=\"Ja\">
<input type=radio name=sp value=\"Nej\">
<INPUT TYPE=\"text\" NAME=\"navn\">
<input type=\"Submit\">
</form>

</body>
</html>
Avatar billede nuno Nybegynder
17. august 2001 - 15:09 #1
function validate(){
  var isError = false
  for (i=0;i<document.tilmeld.sp.length;i++){
 
  if (document.tilmeld.sp[i].checked == true){
    isError = true
  }
  if(!document.tilmeld.navn.value.length>0){
        isError = true
    }
  if(isError==false){
    alert(\'Du mangler at udfylde et eller flere af felterne\')
    }
  return isError
}


Avatar billede nuno Nybegynder
17. august 2001 - 15:10 #2
hmm mangler et mere }

function validate(){
  var isError = false
  for (i=0;i<document.tilmeld.sp.length;i++){
 
      if (document.tilmeld.sp[i].checked == true) {

        isError = true
      }
  }
  if(!document.tilmeld.navn.value.length>0){
        isError = true
    }
  if(isError==false){
    alert(\'Du mangler at udfylde et eller flere af felterne\')
    }
  return isError
}


Avatar billede kjoller Nybegynder
17. august 2001 - 15:12 #3
den kommer med \'document.tilmeld.sp\' er ikke et objekt
Avatar billede ldanielsen Nybegynder
17. august 2001 - 15:41 #4
Hej igen!

Logikken vender forkert. Nu kalder jeg den isOK, og sætter den til true hvis der er klikket på en radioknap. Derefter bliver den sat til false hvis textfeltet er tomt

Og så har jeg tilføjet de korrekte body og head tags

<html>
<head>
<script language=\"JavaScript\">
<!--
function validate(){
  var isOK = false
  for (i=0;i<document.tilmeld.sp.length;i++){
 
   if (document.tilmeld.sp[i].checked == true) isOK = true
   }
  if(document.tilmeld.navn.value.length == 0){
        isOK = false
    }
  if(isOK==false){
    alert(\'Du mangler at udfylde et eller flere af felterne\')
    }
  return isOK
}
// -->
</script>
</head>
<body>
<form name=tilmeld onSubmit=\"return validate(tilmeld);\" >
<input type=radio name=sp value=\"Ja\">
<input type=radio name=sp value=\"Nej\">
<INPUT TYPE=\"text\" NAME=\"navn\">
<input type=\"Submit\">
</form>
</body>
</html>
Avatar billede kjoller Nybegynder
17. august 2001 - 15:49 #5
Det er jo lige til at græde over, hvad have jeg glemt/gjort forkert?
Avatar billede ldanielsen Nybegynder
17. august 2001 - 15:53 #6

if(!document.tilmeld.navn.value.length>0){
        isError = true
    }
satte isError = true hvis feltet var tomt, altså hvis der var fejl

for (i=0;i<document.tilmeld.sp.length;i++){
      if (document.tilmeld.sp[i].checked == true) {
         isError = true
      }
  }
satte isError = true hvis der var valgt noget, altså hvis der IKKE var fejl.

Det er mere logisk at have en variabel der er true hvis alt er ok, fordi du så umiddelbart kan returnere den til onSubmit, og bremse formen med den


Avatar billede ldanielsen Nybegynder
17. august 2001 - 15:55 #7
Det kan være MEGET svært at validere en stor form med mange kombinationer og forbehold, denne her var ikke slem, men ... :o)
Avatar billede kjoller Nybegynder
17. august 2001 - 16:12 #8
så er jeg lidt mere med, js er endnu ikke min stærke side, det kommer forhådentligt ;o), jeg takker endnu en gang for hjælpen
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