プロが教えるわが家の防犯対策術!

現在Webサイトを作っています。
ですがドロップダウンメニューからリンクをし、リンク先をアイフレームにするのがうまくいきません。
問題のページのHTML、及びJavaScriptは以下の通りです。

<html>
<head>

<script type="text/javascript">
<!--
function Mylink(form,sel){
mlink=sel.options[sel.selectedIndex].value;
if(mlink!="-"){parent.albumf.location.href=mlink;}
}
//-->
</script>
</head>

<body>
<center>

<IFRAME name="albumf" frameborder=0 src="●●.html" scrolling=no allowtransparency=true></IFRAME>
<BR>
<BR>
<FORM method="post">
<select onChange="Mylink(this.form,this)">
<OPTION selected value="-">     * メニュー *</OPTION>
<OPTION value="-">------------------------</OPTION>
<OPTION value="●●.html">項目1</OPTION>
<OPTION value="▲▲.html">項目2</OPTION>
<OPTION value="-">------------------------</OPTION>
</select>
</FORM>

</center>
</body>
</html>



JavaScriptに関する様々なページを調べましたが、どうしても自力で解決できませんでした。
どなたか改善方法を教えて下さい。
よろしくお願いします。

A 回答 (1件)

iframeを使うこと自体が微妙ですが、問題点としては


・parentをつかっていますが、selfですよね?
・formを引数として指定していますが、利用していません。
(それにformはselのformなので、わざわざオブジェクト渡しする必要もないし)

とりあえずこんな感じでやってみては?
<script>
function Mylink(sel){
var mlink=sel.options[sel.selectedIndex].value;
if(mlink!="-"){
self.frames['albumf'].location.href=mlink;
}
}
</script>
<IFRAME name="albumf" frameborder=0 src="http://www.yahoo.co.jp" scrolling=no allowtransparency=true></IFRAME>
<FORM>
<select onChange="Mylink(this)">
<OPTION selected value="-">     * メニュー *</OPTION>
<OPTION value="-">------------------------</OPTION>
<OPTION value="http://www.yahoo.co.jp">項目1</OPTION>
<OPTION value="http://www.google.co.jp">項目2</OPTION>
<OPTION value="-">------------------------</OPTION>
</select>
</FORM>
    • good
    • 0
この回答へのお礼

ありがとうございます!!ちゃんとリンクが出るようになりました!!

JavaScriptに関する知識はまだ全然なくていろんなサイトを参考にして作ったので……いろいろ問題があったんですね……。これから精進します。

お礼日時:2009/10/26 10:02

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