OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

ラジオボタンについて

  • すぐに回答を!
  • 質問No.155518
  • 閲覧数61
  • ありがとう数2
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 60% (18/30)

つまらない質問ですがどうか教えてください。

<form name="myform">



<INPUT TYPE="RADIO" NAME="R1" VALUE="1">関連あり</INPUT>
<INPUT TYPE="RADIO" NAME="R1" VALUE="2">関連なし</INPUT>
<INPUT TYPE="RADIO" NAME="R1" VALUE="3">不明</INPUT>
</form>

上記のようなラジオボタンを作ったのですが、
このラジオボタンのチェックされた値を取得するには
document.myForm.cGyoumu.value
ではできないのでしょうか?
LOOPさせながらdocument.myForm.elements(i).checked
で探さないと取得できないのでしょうか?
同じフォーム内にラジオボタンが複数あるため、
この方法はあまりやりたくありません。
ほかに方法がありましたら、どうか教えてください。
通報する
  • 回答数2
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

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

  • 回答No.2
レベル10

ベストアンサー率 50% (72/143)

こんばんは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

お礼率 60% (18/30)

ご丁寧にありがとうございます。
まだJavaScript初心者の私にはちょっと難しいですが、がんばってみます。
投稿日時 - 2001-10-23 09:56:50
-PR-
-PR-

その他の回答 (全1件)

  • 回答No.1
レベル11

ベストアンサー率 42% (103/245)

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

for (i=0; i<document.myForm.R1.length; i++)
{
if (document.myForm.R1[i].checked) {
チェックされていたときの処理
}
}
お礼コメント
kobayan

お礼率 60% (18/30)

お返事ありがとうございます。
やはり無理なんですね。
潔くloopでまわします。
投稿日時 - 2001-10-22 18:18:29
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ