• ベストアンサー

相対パスが認識しない?

ビルダー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

  • 【プルダウンメニュー】フレームの中のインラインフレームに、ターゲットを指定するには?

    現状は【フレームA(ヘッダー1)】【フレームB(ヘッダー2)】【フレームC(メイン)】【フレームD(フッター)】の4分割のうえに、更にフレームCの中に【インラインフレーム】があります。 フレーム3の中にプルダウンメニューを設置し、インラインフレームに表示させたいのですが上手く動作しません。 ※ちなみに、「var target = "フレームA名";」で試してみると動作はするのですが…。 という事は「フレームの中のインラインフレーム」という点がネックなのでしょうか? とあるソースを改良して使おうと思ったのですが、javascript素人につき行き詰まっています。どなたか回答いただけると嬉しいです。 <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'); } else if(target != ""){ eval('parent.' + target + '.location.href = url'); } else{ location.href = url; } } } // --> </SCRIPT> <FORM NAME="form1"> <SELECT NAME="select" onChange="jump()"> <option value="">お選びください <option value="Ahtml/arr">AAA <option value="B.html">BBB <option value="C.html">CCC <option value="D.html">DDD <option value="E.html">EEE </SELECT> </FORM>

  • セレクトメニューで

    セレクトメニューで フレームを使った、複数のセレクトメニューで 今の状態だと、上のセレクトメニューは問題ないのですが 下のセレクトメニューで選択すると、上のセレクトメニューの「更新」になるだけに なってしまいます。 要所の所だけ、記載しますので間違ってるところを教えてください。 <script type="text/javascript"> <!-- // 設定開始 var target = "right"; // 設定終了 function jump(){ var url = document.form1.select1.options[document.form1.select1.selectedIndex].value; if(url != "" ){ if(target == 'top'){ top.location.href = url; } else if(target == 'blank'){ window.open(url, 'window_name'); } else if(target != ""){ eval('parent.' + target + '.location.href = url'); } else{ location.href = url; } } } // --> </script> </head> <body> <TABLE border="0"> <TBODY> <TR> <TD><form action="#" name="form1"> <select name="select1" onChange="jump()"> <OPTION>  メニュー</OPTION> </select> </form></TD> </TR> <TR> <TD><form action="#" name="form2"> <select name="select2" onChange="jump()"> <OPTION>  メニュー</OPTION> </select> </form></TD>

  • プルダウンメニューからインラインフーム内を操作する

    表題のようなものをjavascriptとフォームを使って 用意しましたが、IE6、IE7の環境で試験しましたが問題ありませんでした。 ところが、これをFirefoxで動かすと、プルダウンで選択してもインラインフレームは まったく変化しませんでした。 どちらでも動作するようにしたいのですがどのように改変すればよろしいでしょうか。 初心者でとんでもない間違いをしているかもしれませんが、どうかご教授ください。 現在以下のような記述になっています インラインフレーム名:inpage <!--javascript部 --> <script type="text/"> function jump(){ var url=document.form1.select1.options[form1.select1.selectedIndex].value; if (url!="") document.inpage.location.href = url; } </script> <!--javascript部 --> <!--フォーム部 --> <FORM NAME="form1"> <SELECT NAME="select1" onChange="jump()"> <option value="">選択してください <option value="AAAAA.html">AAAAA <option value="BBBBB.html">BBBBB <option value="CCCCC.html">CCCCC </SELECT> </FORM> <!--フォーム部 -->

  • プルダウンメニューのターゲット指定

    タイトルどおりなのですが、プルダウンメニュー のリンク先を同ページ内のiframeにしたいのですが これはどうすればできるのでしょうか? こちらに現在の状況を載せておきます。 <SCRIPT LANGUAGE="JavaScript"><!-- function Jump() { tu = document.f.elements['jumpto'].options[document.f.elements['jumpto'].selectedIndex].value if( tu != '-' ) { location.href = tu; } else { alert('移動先を選択して下さい。'); } } // --></SCRIPT> <FORM NAME="f"> <SELECT NAME="jumpto" onChange="Jump();">> <OPTION VALUE="-" SELECTED>移動先を選択</OPTION> <OPTION VALUE="menu1.htm" target="menu">Page1</OPTION> <OPTION VALUE="menu2.htm" target="menu">Page2</OPTION> </SELECT> </FORM> よろしくお願い致します。

  • プルダウンからリンクをthicboxで開くには?

    プルダウンからリンクをthicboxで開くには? 宜しくお願い致します。 プルダウンでリンク先を選択し、そのリンク先のページをthicboxで表示させたく試行錯誤しているのですがうまくいきません。 thicboxでリンク先を開くためには、プルダウンのJavascriptをどのように修正すればよいのでしょうか? ■プルダウンでリンクさせるJavascriptとhtmlコード <html> <head> <script type="text/javascript"> function navi(obj) { url = obj.options[obj.selectedIndex].value; if(url != "") { location.href = url; } } </script> </head> <body> <form> <select name="navi"> <option value=""> --- リンクメニュー --- </option> <option value="http://www.yahoo.co.jp/">Yahoo!</option> <option value="http://www.goo.ne.jp/">Goo</option> </select> <input type=button value="表示する" onClick="location.href = this.form.navi.options[this.form.navi.selectedIndex].value"> </form> </body> </html> ■thicboxでURLを開くときのコード ※jquery.jsやthicbox.js、cssファイル等の外部ファイルの記述は省いております。 <a href="http://www.yahoo.co.jp?TB_iframe=true&width=800&height=500" class="thickbox">リンクテキスト</a> ※width・heightは適当に入れている数字です。 分かりづらい説明で申し訳ありません。 補足説明致しますので、どうかご教授下さいますようお願い致します。

  • プルダウンから飛んだページにアクセスする方法

    アクセスする事が出来なくて困っています。初歩的なもので申し訳ないのですが、よろしくお願いします。 <HTML> <HEAD> <TITLE> </TITLE> <script language="javascript"> <!-- function navi(obj) { url = obj.options[obj.selectedIndex].value; if(url != "") { location.href = url; } } //--> </script> </HEAD> <BODY> <form method=post> <select name="navi">  <option value a href="URL">リンク <option value a href="URL">リンク1 <option value a href="URL">リンク2 <option value a href="URL">リンク3 </select> <input type=button value="ジャンプ" onClick="location.href =(this.form.navi.options[this.form.navi.selectedIndex].value)"> </form> </BODY> </HTML>

  • プルダウンから飛んだページを別ウインドウで開く方法

    初歩的なJavaScriptで申し訳ないのですが、ご教授願いします。 下記のプルダウンのJavaScriptで、例えばヤフーと言う部分を選択し、飛ぶをクリックするとヤフーに飛びますが、その際ヤフーにとんだページを別ウインドウで表示させたいのですが、お分かりの方いらっしゃいましたらこの素人に教えてください・・ <HTML> <HEAD> <script language="javascript"> <!-- function navi(obj) { url = obj.options[obj.selectedIndex].value; if(url != "") { location.href = url; } } //--> </script> </HEAD> <BODY> <form method=post> <select name="navi" size="10" "abc" onChange="document.b.submit()"> <option value="http://www.yahoo.co.jp/">ヤフー </select> <input type=button value="飛ぶ" onClick="location.href = this.form.navi.options[this.form.navi.selectedIndex].value"> </form> </BODY> </HTML>

  • ホームページでJavascriptを使ったプルダウンメニューによる画面切替え

    ホームページでiframe内のページをプルダウンメニューを変更したいのですが、アンカーポイントでのプルダウンメニューのリンクではホームページを代える事は出来ないのですか? プルダウンメニューを行うとJavascriptエラーが起きて画面がリンク先になりません。 ○Javascriptの文 <SCRIPT language=JavaScript type=text/JavaScript> <!-- function MM_jumpMenu(targ,selObj,restore){ //v3.0 eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'"); if (restore) selObj.selectedIndex=0; } //--> </SCRIPT> ○iframeの文 <iframe src="report.html" name=if width="440" height="500" frameborder="0">iframeを使用しております。<br></iframe> ○プルダウンメニューの文 <FORM name=form1> <SELECT onchange="MM_jumpMenu('parent.frames[\'if\']',this,0)" name=menu1> <option value="report.html\#0008" selected>第8回目</option> <option value="report.html\#0007">第7回目</option> <option value="report.html#0006">第6回目</option> <option value="report.html#0005">第5回目</option> <option value="report.html#0004">第4回目</option> <option value="report.html#0003">第3回目</option> <option value="report.html#0002">第2回目</option> <option value="report.html#0001">第1回目</option> </select> </form> どこが悪いのか教えてください。分かる方いらっしゃいますか? 教えてください、お願いいたします。

  • プルダウンメニューが文字化けする

    タイトル通りプルダウンメニューが文字化けしてしまいます。javaを使ってホームページに表示させています <meta http-equiv="Content-Type" content="text/html; charset=shift_jis"> <!--メニュー↓--> <script language="javascript"> <!-- function navi(obj) { url = obj.options[obj.selectedIndex].value; if(url != "") { location.href = url; } } //--> </script> <form method=post> <select name="navi">  <option value=""> --メニュー -- <option value="http://">TOPページ <option value="http://">特別企画 <option value="http://">ご挨拶 <option value="http://">ご協力 <option value="http://">PC版 <option value="http://">ブログ </select> <input type=button value="ジャンプ" onClick="location.href = this.form.navi.options[this.form.navi.selectedIndex].value"> </form> <!--メニュー↑-->

  • フレームを使ったプルダウンメニュー

    フレームで「ヘッダー・左メニュー・右メインページ」というように3分割にし、左メニューに置いたプルダウンから項目を選ぶと右メインに表示される、という構造にしたいと思っています。 <HEAD>~</HEAD>内↓ <script language="JavaScript"> function jump(form) { var myindex=form.destination.selectedIndex window.open(form.destination.options[myindex].value, target="main"); } //--> </SCRIPT> プルダウン部分↓ <FORM NAME="form"> <SELECT NAME="destination"> <OPTION VALUE="a.html" SELECTED>あ</OPTION> <OPTION VALUE="k.html">か</OPTION> <OPTION VALUE="s.html">さ</OPTION> <OPTION VALUE="t.html">た</OPTION> <OPTION VALUE="n.html">な</OPTION> </SELECT> <INPUT TYPE="image" SRC="go.gif" onClick="jump(this.form)" BORDER="0"> </FORM> という様に記述した所、例えばプルダウンで「た」を選択した場合、右フレームにちゃんとt.htmlが表示されるのですが、左フレームのプルダウンの項目が「あ」に戻ってしまいます。「た」を選択した状態のまま残したいのですが。 ちなみにボタンに画像を使わず、<INPUT TYPE="button" ・・・・>にするとなぜか「た」選択の状態でちゃんと残ります。でも、できれば画像を使いたいのです。 うまいやり方をご存じの方は、教えていただけますか。おねがいします。

専門家に質問してみよう