• ベストアンサー

セレクトメニューのリンク

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

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

  • ベストアンサー
  • xruz
  • ベストアンサー率50% (72/143)
回答No.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

choko21
質問者

お礼

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

その他の回答 (2)

  • shiba1
  • ベストアンサー率41% (10/24)
回答No.2

普通のフレーム<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からの相対パス。 もしくは絶対パスを入れればイイと思います。

choko21
質問者

お礼

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

  • yuizuian
  • ベストアンサー率42% (103/245)
回答No.1

えぇと、おっしゃっていることがよく解らないのですが、 「インラインフレームの中に表示されているセレクトボックスから他のインラインフレームにリンクを飛ばしたい」 ということでしょうか?? でしたら、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
choko21
質問者

補足

書き方がわかりにくくてごめんなさい! つまり、普通の頁(a.htm)の中に 1つのインラインフレーム(b.htmが表示されていて、フレーム名はBと指定したとします)があって a.htmにあるセレクトメニューのリンク先をb.htmが表示されているインラインフレームの中(B)に表示させたいんです。 a.htmのセレクトメニューのリンク先をどう指定して Bに表示させるのか?・・・ということです。 説明が下手でごめんなさい。 このような指定の仕方はありますでしょうか?

関連するQ&A