Avatar billede jarlq Nybegynder
06. april 2006 - 15:51 Der er 6 kommentarer og
1 løsning

Validering af Radiobutt

Jeg kan ikke få følgende stykke kode til at fungerer ordentligt:
<body>
<p>Kirkeskat:</p>
<form name="form1" method="post" action="" id="ff">
<p>
  <label><input name="RadioGroup1" type="radio" value="Ja"
id="j">Ja</label>
  <br>
  <label><input type="radio" name="RadioGroup1" value="Nej"
id="n">Nej</label>
</p>
</form>
<input type="submit" name="Submit" value="Submit" onClick="funk()">
<p>&nbsp;</p>
<p id="res1">&nbsp;</p>
<p id="res2">&nbsp;</p>
</body>

<script>
      function funk() {
              var x = ff.j.checked;
  if (x=true) {var y = 1}
  if (x=false) {var y= 0}

              res1.innerText = y;


              res2.innerText = ff.n.checked;
      }
</script>
</html>

----------------

Det er meningen at jeg skal kunne få variablen y til at variere mellem 0 og 1, alt efter om man svarer ja eller nej på spørgsmålet, så jeg kan regne videre med y variablen.
Det vil dog ikke rigtig lykkes. Er der nogen der har en løsning?

Håber der er nogen der kan hjælpe :-)
På forhånd tak
Avatar billede jarlq Nybegynder
06. april 2006 - 15:52 #1
Radiobutton, sorry :-)
Avatar billede smirnoff Nybegynder
06. april 2006 - 17:23 #2
du kan bruge denne funktion :

function funk() {
  var y;
  (ff.RadioGroup1[0].checked) ? y = 0 : y = 1;   
  alert(y)
}
.. erstat alert(y) med det du nu har brug for
Avatar billede roenving Novice
09. april 2006 - 11:33 #3
I øvrigt vil ovenstående kun virke i een bestemt browser ...

Prøv f.eks. sådan:

<body>
<p>Kirkeskat:</p>
<form name="form1" method="post" action="" id="ff">
<p>
  <label><input name="RadioGroup1" type="radio" value="Ja" id="j" onclick="funk(0)">Ja</label>
  <br>
  <label><input type="radio" name="RadioGroup1" value="Nej" id="n" onclick="funk(1)">Nej</label>
</p>
</form>
<!--input type="submit" name="Submit" value="Submit"-->
<p>&nbsp;</p>
<p id="res1">&nbsp;</p>
<p id="res2">&nbsp;</p>
</body>

<script type="text/javascript">
function funk(num){
  document.getElementById("res1").firstChild.nodeValue = num;
  document.getElementById("res2").firstChild.nodeValue = num == 0 ? "false" : "true";
}
</script>
Avatar billede smirnoff Nybegynder
09. april 2006 - 17:58 #4
Hvis man vælger helt at se bort fra, at det virker i: Firefox, Opera og Konqueror ... så ja
Avatar billede jarlq Nybegynder
09. april 2006 - 22:37 #5
Det virkede fint til mit formål, fandt dog selv lige en helt tredje løsning, sæt == i if sætningerne i stedet for =. Det er nok den løsning jeg selv kommer til at anvende. Men tak for hjælpen til jer begge.
Avatar billede smirnoff Nybegynder
09. april 2006 - 23:27 #6
ok - hvis forøvrigt roenving hentydede til "res1.innerText = y;" kun vil virke i een browser

... så er vi helt enige ;)
Avatar billede roenving Novice
11. april 2006 - 17:32 #7
-- og det var det, jeg mente !-)
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