
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を探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Jvasvriptのlengthで個数が取得...
-
データベースの値を判断してラ...
-
ラジオボタンのチェックが外れ...
-
ラジオボタンとif文
-
リセットボタンでクリアできな...
-
文字列を表示/非表示させつつ、...
-
ラジオボタンの値でリンク先を...
-
プルダウン 項目が多いので先頭...
-
ハイパーリンクを別ウインドウ...
-
特定<table>内の<td>の色を変える
-
return trueとreturn falseの用...
-
【jsp/Java】チェックボックス...
-
jqueryとscriptでTABLEのセルを...
-
Selectボックスの幅を自動で広...
-
EclipseでSpringを使用し、テー...
-
<input>の選択肢をプルダウンメ...
-
Selectの中身をfor文で入れる
-
プルダウンで選択すると、DBの...
-
プルダウン選択を変更すると、...
-
inputのvalueを変数として使うには
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ラジオボタンにタブインデック...
-
javascript作成してます。ラジ...
-
Javascriptを使って動的にラジ...
-
ラジオボタンでdisabledとchecked
-
ラジオボタンのチェックが外れ...
-
CGI.pmでラジオボタンを思い通...
-
リセットボタンでクリアできな...
-
文字列を表示/非表示させつつ、...
-
データベースの値を判断してラ...
-
ラジオボタンのValueを受け取り...
-
ログ入力支援ツールの作成方法
-
ラジオボタンの選択によってチ...
-
ラジオボタンとif文
-
2項目計算って可能でしょうか?
-
ラジオボタンのチェック数に応...
-
JavaScript フォームでのラジオ...
-
Formのラジオボタンリセット方法
-
チェックボックス とラジオボ...
-
ラジオボタンを使って、検索ペ...
-
【javascript】firefoxでの、al...
おすすめ情報