Avatar billede xantor Nybegynder
08. maj 2005 - 20:53 Der er 9 kommentarer og
1 løsning

Kontrollerer om en radio er markeret

Hejsa eksperter!

Jeg har et problem.

Jeg har en javascript function som checker en masse felter om deres input er gyldigt osv.

Men jeg har en gruppe radiobuttons hvor der skal være markeret den ene af dem. hvordan kontrollerer jeg det?

De hedder f.eks. <input type="radio" name="usertype" value="1" />

MvH Xantor
Avatar billede busschou Praktikant
08. maj 2005 - 20:57 #1
du løber dem igennem og ser om de er checked
document.forms.din_form.elements['usertype'].checked
Giver true hvis den er sat og false ellers
Avatar billede busschou Praktikant
08. maj 2005 - 21:03 #2
Hvis der kun er een som må være checked så kan du jo have en counter
1) løb alle radios igennem
2) kontroller hver om den er checked
3) Hvis den er checked så tæl counter op ellers løb videre
4) Tjek om counter er større end een
Avatar billede xantor Nybegynder
08. maj 2005 - 21:35 #3
Hvordan er det smartest at løbe den igennem?
Avatar billede busschou Praktikant
08. maj 2005 - 21:38 #4
har de samme name alle sammen?...
Avatar billede busschou Praktikant
08. maj 2005 - 21:40 #5
hvis de alle har samme navn og intet andet har det navn så løb igennem på navnet
radioer = document.getElementsByName['usertype']
for (i=0;i<radioer.length;i++){
if (radio[i].checked){
  count = count + 1;
}
}
Avatar billede busschou Praktikant
08. maj 2005 - 21:42 #6
Du kan også give dem et id, måske er det smartere at kalde dem for id="radio1" radio2 osv.
Hvis du så ved du har fx 10 så gøre sådan her
for (i=1;i<=10;i++){
if (document.getElementByID['radio'+i].checked){
  count = count + 1;
}
}
Avatar billede xantor Nybegynder
08. maj 2005 - 22:14 #7
Dit første eksempel... min firefox javascript konsol siger at radioer ikke har nogen properties. og jeg har kontrolleret navnet 1000 gange
Avatar billede roenving Novice
08. maj 2005 - 23:28 #8
-- og den suverænt simpleste måde at gøre det på er at have en variabel, som er false fra starten og sættes til den værdi eller elementets checked-værdi ...

F.eks.

<script type="text/javascript">
function valider(f){
  var e = f.r,chck = false;
  for(i=0;e.length>i;i++){
    chck = chck || e[i].checked;
  }
  return chck;
}
</script>

<form onsubmit="alert(valider(this));return false;">
  <input type="radio" name="r"><br>
  <input type="radio" name="r"><br>
  <input type="radio" name="r"><br>
  <input type="radio" name="r"><br>
  <input type="radio" name="r"><br>
  <input type="submit">
</form>
Avatar billede xantor Nybegynder
10. maj 2005 - 16:18 #9
Ked af det forsinkede svar... jeg fik selv busschou's version til at fungere... mig der lavede en dummefejl :-(

Så hvis der bliver smidt et svar falder der point
Avatar billede busschou Praktikant
10. maj 2005 - 16:51 #10
oki doki.. det vigtigste er jo at det virker :o)
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