- ベストアンサー
ラジオボタンの取得方法について
- ラジオボタンを作成したが、チェックされた値を取得する方法について知りたい。
- document.myForm.cGyoumu.valueでは取得できないのか。
- 複数のラジオボタンがある場合、他の方法があるか教えてほしい。
- みんなの回答 (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> フォームオブジェクトだけは指定してください、がんばってくださいね。 (汚いソースでごめんなさい)
その他の回答 (1)
- yuizuian
- ベストアンサー率42% (103/245)
ラジオボタンにはvalueというプロパティが存在しないので、ループでまわすしかないと思いますよ。 for (i=0; i<document.myForm.R1.length; i++) { if (document.myForm.R1[i].checked) { チェックされていたときの処理 } }
お礼
お返事ありがとうございます。 やはり無理なんですね。 潔くloopでまわします。
お礼
ご丁寧にありがとうございます。 まだJavaScript初心者の私にはちょっと難しいですが、がんばってみます。