• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ラジオボタンについて)

ラジオボタンの取得方法について

このQ&Aのポイント
  • ラジオボタンを作成したが、チェックされた値を取得する方法について知りたい。
  • document.myForm.cGyoumu.valueでは取得できないのか。
  • 複数のラジオボタンがある場合、他の方法があるか教えてほしい。

質問者が選んだベストアンサー

  • ベストアンサー
  • xruz
  • ベストアンサー率50% (72/143)
回答No.2

こんばんはkobayanさん、xruzです。 たしかに一つ一つチェックするのは苦労しますね。 こんなチェック方法もありますよ、ご参考にしてください。 (Ie5.5sp2、NN4.75、NN6.1動作確認済み) <Html> <Head> <Title>radiocheck2</Title> </Head> <Script Language="JavaScript"> <!-- var elm=new Array(); var objForm; function setRadioElements(ce) { objForm=document.frm; // ここにフォームオブジェクトを指定してね var k=0; with(objForm){ for(var i=0;i<elements.length;i++) { if(elements[i].type==ce) { var p=(elm.toString()).indexOf(elements[i].name,0); if(p==(-1)) elm[k++]=elements[i].name; } } } } function rck(rd) { for(var i=0;i<rd.length;i++) if(rd[i].checked) return rd[i].value; return ""; } function radioCheck() { var trg="document."+objForm.name; for(var i=0;i<elm.length;i++) { alert(elm[i]+"\n"+rck(eval(trg+"."+elm[i]))); } } //--> </Script> <Body onLoad="setRadioElements('radio');"> <form method="post" name="frm"> <input type="radio" name="r1" value="01" checked>val1<br> <input type="radio" name="r1" value="02">val2<br> <input type="radio" name="r1" value="03">val3<br> <hr> <input type="radio" name="r2" value="11">val1<br> <input type="radio" name="r2" value="12">val2<br> <input type="radio" name="r2" value="13">val3<br> <hr> <input type="radio" name="r3" value="21">val1<br> <input type="radio" name="r3" value="22">val2<br> <input type="radio" name="r3" value="23" checked>val3<br> <hr> <input type="button" value="radioElements AutoCheck" onClick="radioCheck();"> </form> </Body> </Html> フォームオブジェクトだけは指定してください、がんばってくださいね。 (汚いソースでごめんなさい)

kobayan
質問者

お礼

ご丁寧にありがとうございます。 まだJavaScript初心者の私にはちょっと難しいですが、がんばってみます。

その他の回答 (1)

  • yuizuian
  • ベストアンサー率42% (103/245)
回答No.1

ラジオボタンにはvalueというプロパティが存在しないので、ループでまわすしかないと思いますよ。 for (i=0; i<document.myForm.R1.length; i++) { if (document.myForm.R1[i].checked) { チェックされていたときの処理 } }

kobayan
質問者

お礼

お返事ありがとうございます。 やはり無理なんですね。 潔くloopでまわします。

関連するQ&A

専門家に質問してみよう