こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

インラインフレーム内のラジオボタンの値でリンク先を変える

http://oshiete1.goo.ne.jp/qa529266.html
上のURLと同じ内容なのですが、色々な理由がありフォームの部分をインラインフレームにする必要がありご質問させていただきました。

上記の内容では、URLの移動先がインラインフレーム内で変わってしまいますので、JacaScript内のURL部分に target = "{_top}" などの属性を付けたいのですが、単純にURLの後ろに付けただけではエラーになり困っています。

JavaScriptのソースは以下です。

<!-- //
function submitform() {
if (document.mf.chiiki.value=="0" )
{ top.location.href = "0-list.php"; }
else if (document.mf.chiiki.value=="1" )
{ top.location.href = "1-list.php"; }
else if (document.mf.chiiki.value=="2" )
{ top.location.href = "2-list.php"; }
}
// -->

URLの後ろに anchor.target = "{_top}" ;  なども付けてみましたが、上手くいきませんでした。

HTML側のフォームは以下です。

<form method="post" action="" name="mf">
<input type="checkbox" name="test0" value="1"> aaa <br>
<input type="checkbox" name="test1" value="1"> bbb <br>
<input type="checkbox" name="test2" value="1"> ccc <br>
<input type="submit" onmouseup="submitform()">
</form>

なにかヒントでも結構ですので、ご教授頂ければ幸いです。
宜しくお願い申上げます。

投稿日時 - 2008-06-19 21:16:17

QNo.4113725

困ってます

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

何か勘違いしていませんか?
JavScriptで
document.mf.chiiki.value=="0"
を評価しようとしていますが『chiiki』といったIDのコントロールがありませんよ

HTML側の test0,test1,test2を判断したいのであれば

if ( document.mf.test0.checked ) {
// test1がチェックされた場合の処理
document.mf.action = "0-list.php";
} else if ( document.mf.test1.checked ) {
// test2がチェックされた場合の処理
document.mf.action = "1-list.php";
} else if ( document.mf.test2.checked ) {
// test3がチェックされた場合の処理
document.mf.action = "2-list.php";
} else {
alert("チェックされていません");
return false;
}
といった具合でチェックしないといけないかと思います

この送信処理でインラインフレームではなくベースのページ(つまりブラウザに表示される全体のページ)を変更したいのであれば
formタグの targetを "_top"に設定しましょう

<form method="post" action="" name="mf" target="_top">
といった具合にするか Scriptで
document.mf.target = "_top";
を記述しましょう

投稿日時 - 2008-06-20 01:54:55

お礼

redfox63様へ
早々にご回答頂きありがとうございました!

>formタグの targetを "_top"に設定しましょう

form タグにターゲット指定ができるなんて、できるんですね!
JavaScriptで変えるんだ!って思っていたので目からウロコでした。

お陰様でイメージ通りの動作になり本当に感謝しています。m(_ _)m

>何か勘違いしていませんか?
>JavScriptで
>document.mf.chiiki.value=="0"
>を評価しようとしていますが『chiiki』といったIDのコントロールがありませんよ

ご推察の通りです。当方で書き込んだ内容には不備があり混乱させてしまい申し訳ございませんでした。

間違えてプルダウンメニューでのフォームを書き込んでしまいました。
大変丁寧に、チェックBOXでのJavaScriptの記述も教えて頂きとても参考になりました。

重ねて御礼申上げます。

投稿日時 - 2008-06-20 13:19:46

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問