JSでラジオボタンでチェックされた値を取得するには?

[上に] [前に] [次に]
pipo [E-Mail] 2000/05/17(水) 14:41:53
皆さん、宜しくお願いします。
現在HPでラジオボタンでチェックした値の取得を
しようとしていますがうまくいきません。
別ページに飛ぶ前の確認をやらせたいのですが・・・。
こんな感じです。

function ChkVal() {
    chkflg  = document.MYFORM.sqlflg.value;
    chktext = document.MYFORM.sqltext.value;
・・・
・・・
}
・・・
・・・
<FORM METHOD="post" NAME="MYFORM" ACTION="get-sql.cgi" TARGET="_blink">
・・・
<INPUT TYPE="radio" NAME="sqlflg" VALUE="0" SELECTED>SQL選択
<INPUT TYPE="radio" NAME="sqlflg" VALUE="1" SELECTED>SQL入力
・・・

これらはだめでした。
    chkflg  = document.MYFORM.sqlflg.value;
    chkflg  = document.MYFORM.sqlflg.options
             [document.MYFORM.sqlflg.selectedindex].value;


すいませんが宜しくお願いします。

おたぬき [E-Mail] [HomePage] 2000/05/17(水) 14:52:52
idx = document.MYFORM.sqlflag.selectedIndex;
chkflg  = document.MYFORM.sqlflg[idx].value;

こんなのでどうでしょう

おたぬき [E-Mail] [HomePage] 2000/05/17(水) 15:01:39
すみません間違っていました。

for ( i = 0; i < document.MYFORM.sqlflag.length; i++ ) {
    if ( document.MYFORM.sqlflag.checked ) {
        chkflg  = document.MYFORM.sqlflg[i].value;
    }
}

これで大丈夫だと思います。

pipo 2000/05/17(水) 15:02:12
レスありがとうございます。

        idx = document.MYFORM.sqlflg.selectedIndex;
alert(idx);
        chkflg  = document.MYFORM.sqlflg[idx].value;
        chktext = document.MYFORM.sqltext.value;

alert(chkflg);

上記のようにやってみましたが駄目でした。
alertで値を見るとidxにはundefinedで値が入ってないんです。
そのうえdocument.MYFORM.sqlflg[idx].valueはオブジェクトでは
ありませんって怒られてしまいます。
自分でやっていた場合も同様なエラーでした。

pipo 2000/05/17(水) 16:08:39
レスありがとうございます。

for ( i = 0; i < document.MYFORM.sqlflg.length; i++ ) {
    if ( document.MYFORM.sqlflg.checked ) {
        chkflg  = document.MYFORM.sqlflg[i].value;
    }
}

上記ですが、for文はちゃんとループしているのですが
if文に入ってきません。
tmp = document.MYFORM.sqlflg.checked ;
alert(tmp);
とやるとundefinedです。
これっておかしいですよね。
ラジオボタンは最初の項目をcheckedにしているので
チェック忘れはありません。
何かしらが絶対チェックされているのですが。
ちなみに最初に送ったHTML間違ってますね。ごめんなさい。
・・・
<FORM METHOD="post" NAME="MYFORM" ACTION="cgi/get-sql.cgi" TARGET="_blink">
・・・
  <INPUT TYPE="radio" NAME="sqlflg" VALUE="1" CHECKED>SQL選択
  <INPUT TYPE="radio" NAME="sqlflg" VALUE="2">SQL入力
・・・
  <INPUT TYPE="submit" VALUE="GO!" Onclick="return ChkVal()">
こんな感じの指定です。
この時のChkVal()という関数でチェックしたいのですが
スペルミス等はないのですが・・

何度もお手数をおかけして申し訳ありませんが宜しくお願いします。

おたぬき [E-Mail] [HomePage] 2000/05/17(水) 16:49:39
またまた間違っていました。すみません。

if ( document.MYFORM.sqlflag[i].checked ) {
    chkflg  = document.MYFORM.sqlflg[i].value
    alert(chkflg)
}

if文のところも配列にして下さい。
何回も間違えてすみません。

pipo 2000/05/17(水) 17:12:52
[[解決]]
おたぬきさん、大変ありがとうございました。
無事解決です。
何度もわがまま言ってすいませんでした。

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