アイフレームを利用しているのですが
セレクトメニューでリンクするタグがありますよね?
普通だと、その同じ頁内にリンクされるのですが
アイフレームを利用しているので他の頁にリンクさせた員です。
セレクトメニューのリンクで他のフレーム(頁)にリンクさせるには
どうしたらいいですか?

A 回答 (3件)

こんにちはchoko21さん、xruzです。



self.if1.location.href で動作しましたか?
動かない場合は parent.if1.location.href でやってみてください。

こんな方法もありますよ

<html>
<head>
<title></title>
</head>
<script language="JavaScript">
<!--
function lnk(h) {
document.all("lnk").href=h.options[h.selectedIndex].value;
document.all("lnk").click();
}
//-->
</script>
<body>
<form name="f">
<select name="" size="1" onChange="lnk(this)">
<option value="javascript:void(0)">Select MENU
<option value="b.html">HTML B
<option value="c.html">HTML C
</select>
<a name="lnk" href="javascript:void(0)" target="B"></a>
</form>
<iframe name="B" src="about:blank" width="200px" height="200px" frameborder="1">
</iframe>
</body>
</html>

がんばってくださいね(~:~i
    • good
    • 0
この回答へのお礼

ありがとうございました。おかげで見事、リンクをインラインフレームの中に
表示させることが出来ました!
本当に助かりました!

お礼日時:2001/12/26 16:30

普通のフレーム<frameset></frameset>じゃなくって、


<iframe></iframe>ですよね。
それだったら、parent.フレーム名.location.href=
だと、a.htmがフレームの中に読まれるページの場合、たぶん動かないと思います。
self.フレーム名.location.href= 
もしくは、
フレーム名.location.href=
で動くと思います。
私は、iframe使ってないので、あんまり自信ないですが。。
iframeのnameは、念のため英数半角で・・・。

a.htm,b.htm,c.htm,d.htmが同じディレクトリにあるとした場合の
a.htmのソース例:

=====================================================================

<html>
<head>
<title>sample</title>
</head>
<body>
<form>
<select onChange="self.if1.location.href=this.options[this.selectedIndex].value">
<option>リンク先を選択</option>
<option value="c.htm">cを表示</option>
<option value="d.htm">dを表示</option>
</select>
</form>
<iframe src="b.htm" name="if1">
</iframe>
</body>
</html>

=====================================================================
optionのvalueにa.htmからの相対パス。
もしくは絶対パスを入れればイイと思います。
    • good
    • 0
この回答へのお礼

何度もご回答ありがとうございました。
私の変な説明でも、こんな丁寧に答えてくれて本当にありがとうございます。
とても助かりました!!教えていただいたやり方でやってみたらうまくいきました!

お礼日時:2001/12/26 16:32

えぇと、おっしゃっていることがよく解らないのですが、


「インラインフレームの中に表示されているセレクトボックスから他のインラインフレームにリンクを飛ばしたい」
ということでしょうか??
でしたら、A.htmlに、b.htmlとc.htmlというページがインラインフレームで表示されていて、b.htmlの表示されているインラインフレームにfra2という名前が付けられているものと仮定して、

c.htmlに
<HEAD>
<SCRIPT LANGUAGE="JavaScript">
<!--
function jump(sel)
{
if (sel.options[sel.selectedIndex].value)
{
window.parent.fra2.location.href = sel.options[sel.selectedIndex].value;
}
}
// -->
</SCRIPT>
</HEAD>
<BODY>
<FORM>
<SELECT onChange="jump(this)">
<OPTION VALUE="">リンク
<OPTION VALUE="http://www.okweb.ne.jp/">OKWeb
<OPTION VALUE="http://www.goo.ne.jp/">Goo
</SELECT>
</FORM>

という感じでどうでしょう?
動作チェック済み、下記の参考サイトのスクリプトを参考に作成させていただきました。

参考URL:http://tohoho.wakusei.ne.jp/www.htm

この回答への補足

書き方がわかりにくくてごめんなさい!

つまり、普通の頁(a.htm)の中に
1つのインラインフレーム(b.htmが表示されていて、フレーム名はBと指定したとします)があって
a.htmにあるセレクトメニューのリンク先をb.htmが表示されているインラインフレームの中(B)に表示させたいんです。

a.htmのセレクトメニューのリンク先をどう指定して
Bに表示させるのか?・・・ということです。

説明が下手でごめんなさい。

このような指定の仕方はありますでしょうか?

補足日時:2001/12/26 02:09
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード


このカテゴリの人気Q&Aランキング

おすすめ情報

カテゴリ