• ベストアンサー

相対パスが認識しない?

ビルダー11を使用して作成しています。 プルダウンメニューとインラインフレームを使用してレイアウトをしています。 プルダウンメニューを選択するとインラインフレーム内が更新するように作成したいと思います。 更新ボタンとかは無しで、選択されたらすぐに反映されるような形にしたいと思っています。 色々調べて下記のように作成しました。 ------------------------------------------------------- <SCRIPT TYPE="text/javascript"> <!-- var target = ""; function jump(){ var url = document.form1.select.options[document.form1.select.selectedIndex].value; if(url != "" ){ if(target == 'top'){ top.location.href = url; } else if(target == 'blank'){ window.open(url, 'window_name'); } elseif(target != ""){ eval('parent.' + target + '.location.href = url'); } else{ location.href = url; } } // --> </SCRIPT> <FORM NAME="form1"> <SELECT NAME="select" onChange="jump()"> <OPTION VALUE="">選択してください <OPTION VALUE="a.html">その1 <OPTION VALUE="b.html">その2 </SELECT> </FORM> <IFRAME src="c.html" name="main">てすと</IFRAME> -------------------------------------------------- が、プルダウンを選択するとフレーム内がページがみつかりませんと表示されます。 試しに、リンクの部分("a.html")を絶対パスにすると表示されました。 この部分を相対パスにすることはできないのでしょうか?

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

  • ベストアンサー
  • crepon133
  • ベストアンサー率51% (399/776)
回答No.3

<script language="JavaScript"> <!-- function jump(){ mySelect = document.form1.select.selectedIndex; main.location.href = document.form1.select.options[mySelect].value; } // --> </script> main.location.href = ↑ターゲットを指定 <FORM NAME="form1"> <SELECT NAME="select" onChange="jump()"> <OPTION VALUE="">選択してください <OPTION VALUE="a.html">その1 <OPTION VALUE="b.html">その2 </SELECT> </FORM> <IFRAME src="c.html" name="main">てすと</IFRAME>

chinpun_kanpun
質問者

お礼

ご回答ありがとうございました。 参考にさせて頂き、無事に動作確認がとれました。 ありがとうございました。

その他の回答 (2)

noname#40524
noname#40524
回答No.2

プルダウンでは無いですが。 <script language="JavaScript"> <!--function changeIFrame(jumpURL) { myFrame.location.href = jumpURL;} // --></script> ------------初期 <iframe src="home.htm" name="myFrame" width="760" height="455"></iframe> -----------変更 <a href="javaScript:changeIFrame('/link.htm')">リ ン ク</a> で動作します。

chinpun_kanpun
質問者

お礼

ご回答ありがとうございました。 まだ、ビルダーの操作に不慣れな部分があったようです。 なんとか解決しました。

  • STICKY2006
  • ベストアンサー率29% (1536/5269)
回答No.1

とりあえず。。。 function jump(){ top.location.href = a.html; } で試してみては。。。? これで表示されるなら、 var url = document.form1.select.options[document.form1.select.selectedIndex].value; でurlに「a.html」以外が入っているような気がしなくもないです。 まぁ function jump(){ var url = document.form1.select.options[document.form1.select.selectedIndex].value; if(url != "" ){ if(target == 'top'){ alert("これがURLです" + url); top.location.href = url; } で確認した方が早いか。。。

chinpun_kanpun
質問者

お礼

ご回答ありがとうございます。 試してみました "これがURLですa.html"と表示されました。 が、そのあと、ページを表示できませんとでました。 また試しに、「'parent.' + target + '.location.href = url'」この部分を見ましたが、 [Object]main のあとに、ビルダーの添付フォルダパスが表示されていました。 私の作り方がまずいのでしょうか?

関連するQ&A

専門家に質問してみよう