INPUT TYPE="Radio"で選択されている項目を調べるには?

[上に] [前に] [次に]
HAL [E-Mail] 1999/03/10(水) 04:21:14
初歩的質問で申し訳ありません(汗)

JavaScriptを用いて3択クイズのようなものを作りたいと
思ったのですが、ラジオボタンで選択されている項目を調
べるにはfor文などを用いて全ての項目をチェックする以
外にないのでしょうか。
Selectを使えばSelectIndexプロパティから取得できるの
ですが、ラジオボタンには同様のプロパティは存在しない
のでしょうか。
このHPを始めあちこちのリファレンスを調べてみたのです
が見つかりません。やはりfor文を使うのが一般的かと思
うのですが、もう少しスマートにできないものかと思い、
質問させていただきます。どなたか詳しい方ご教授くださ
ると幸いです。

#と云うかラジオボタンの性質上できない方が不思議な気がする
#のは気のせいでしょうか(^^;)<独り言

miz 1999/03/10(水) 15:53:43
テストしてないので、見当違いだったらごめんなさい。
TYPE=radioということは、ボタンごとに入ってくるVALUEが違うんだから

[window.]document.form.element.value
http://www.tohoho-web.com/js/form.htm#Element 参照)

を見れば分かるのでは?

たこすけ 1999/03/10(水) 19:03:11
>どなたか詳しい方ご教授くださると幸いです。
ちっとも詳しくないのですが

for(i=0; i<documetn.formname.radioname.length; i++){
if(document.formname.radioname[i].checked){
radiovalue = document.radioname[i].value;
}}
と書くのは面倒臭いし長いしみっともないぜ
radioindex = document.formname.radioname.CheckedIndex;
とか出来れば便利だぜ。出来ねえのかよラジオボタン。

という話ですよね。(多分)

上のようなデタラメなスクリプトは勿論出来ないので
各ラジオボタンにonClickのイベントを付けるか
(スクリプトは短くなるけどHTML部分が増える)
フォーム名やラジオボタン名を1〜2文字にするとか
さらにそれを格納する変数名まで1文字にしちゃうとか
(後からソースをみると自分でも混乱)

このくらいしか思いつきませんでした。参考にならなくてすいません。

HAL [E-Mail] 1999/03/12(金) 00:59:19
[[解決]]
言葉足らずな質問で申し訳ありませんでした。

> for(i=0; i<documetn.formname.radioname.length; i++){
> if(document.formname.radioname[i].checked){
> radiovalue = document.radioname[i].value;
> }}
> と書くのは面倒臭いし長いしみっともないぜ
> radioindex = document.formname.radioname.CheckedIndex;
> とか出来れば便利だぜ。出来ねえのかよラジオボタン。
> という話ですよね。(多分)
はい、その通りです。あれば便利だと思ったのですが……
やはりないのですね。これであきらめがつきます(^^;)
書いてくださった方法でやっていきます。
mizさん、たこすけさん、ありがとうございました。

[上に] [前に] [次に]