No.4ベストアンサー
- 回答日時:
同じ name 値のオブジェクトが複数ある場合、それらは配列扱いとなるので No.1 の方法では処理できません。
このような場合はループでラジオボタンを1つずつ見て、checked プロパティが true のものを探して処理します。
また、HTML に checked が書かれているラジオボタンが1つもなければ、どれもチェックされていない時の処理も必要になります。
それと、リンク先変更関数の呼び出しについてですが、送信処理に関する関数の呼び出しは必ず FORM タグの onSubmit で行うようにします。
でないと、ラジオボタンにフォーカスがある時に Enter キーによって送信されてしまうのをチェックすることができません。
以下、それらを踏まえたサンプルです。
# スクリプト部
(インデントなどに全角空白を使用しているので、コピペの際は注意!)
// ラジオボタンに対応するURLの配列
var actions = new Array(
"URL1",
"URL2"
);
function setAction(f) {
for (var i = 0; i < f.rb1.length; i++) {
if (f.rb1[i].checked) {
f.action = actions[i];
return true; // true を返すと送信される
}
}
// ラジオボタンがチェックされていない時の処理
※以下参照
}
※エラーにする場合
alert("ラジオボタンをチェックしてください。");
return false; // false を返すと送信されない
※デフォルトの送信先に飛ばせる場合
f.action = "デフォルトのURL";
return true;
# フォーム部
<FORM onSubmit="return setAction(this)">
<INPUT type="radio" name="rb1" value="a">aaa<br>
<INPUT type="radio" name="rb1" value="b">bbb<br>
<INPUT type="submit">
</FORM>
下記ページも参考になります。
http://tohoho.wakusei.ne.jp/js/form.htm#ElmButton
参考URL:http://tohoho.wakusei.ne.jp/js/form.htm#ElmButton
No.5
- 回答日時:
#4さん
ご指摘、ごもっともでございます。
たびたび、回答しておきながら、間違いをお教えしてしまって申し訳ありません。
テストしないで、業務片手間で答えてしまったので間違いをそのまま記入しておりました。
※管理者様、見ていらしたら私の回答をすべて削除してください。質問者の方や他の閲覧者の方が混乱してしまいます。
No.3
- 回答日時:
すいません、逆に名前指定しないと下記ソースは動きません・・・。
<input type ="radio" value="0" name="rb1"> aaa <br>
<input type ="radio" value="1" name="rb1"> bbb <br>
です。たびたびごめんなさいです^^;;;
No.1
- 回答日時:
ちょうど今、似たような処理を作ってましたw
--------------------------
<script type="text/javascript">
<!--
function SubmitChange()
{
if (document.mf.rb1.value="0" )
document.mf.action = "aaa.html";
else
document.mf.action = "bbb.html";
}
// -->
</script>
------------------------
<form method="post" action="" name="mf">
<input type ="radiobuton" value="0"> aaa <br>
<input type ="radiobuton" value="1"> bbb <br>
<input type="submit" onClick="SubmitChange();">
</form>
------------------------
こんな感じです。
分からないところがあれば補足で書いてください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ラジオボタンのリセット方法
-
クイズの正解(○×)をテキスト...
-
JavaScriptでラジオボタンのチ...
-
ラジオボタンでdisabledとchecked
-
プルダウン 項目が多いので先頭...
-
dijit.form.ComboBoxについて
-
return trueとreturn falseの用...
-
javascript による POST 送信時...
-
テキストボックスに入力された...
-
プルダウンメニューを表の中に...
-
VBSでブラウザ上のテキストボッ...
-
ラジオボタンの選択で解答・点...
-
追加ボタンを押した際に ok ボ...
-
netscapeでもinnerTextやinnner...
-
tableの任意行にfocusをあてる
-
value内に変数を入れたい
-
submitするとなぜか2度実行する
-
JavaScriptで特定のtdタグにcla...
-
VBScriptでHTMLのセレクトボッ...
-
全てのselect要素をデフォルト...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
javascriptを使ってラジオボタ...
-
ラジオボタンにタブインデック...
-
ラジオボタンのチェックが外れ...
-
javascript作成してます。ラジ...
-
ラジオボタンにチェックを入れ...
-
ラジオボタン未チェックの場合...
-
チェックされたラジオボタンに...
-
Jvasvriptのlengthで個数が取得...
-
フォームPOST後「戻る」時のチ...
-
データベースの値を判断してラ...
-
チェックボックスのON/OFFに連...
-
ラジオボタンでチェックした項...
-
サイト内にGoogleサイトを表示...
-
JavaScript ラジオボタン デ...
-
ラジオボタンでdisabledとchecked
-
リンク文字クリックでラジオボ...
-
ポップアップウインドウで選択...
-
jQueryで複数のラジオボタンを処理
-
js radioボタンの「name」を多...
-
ラジオボタンとif文
おすすめ情報