dポイントプレゼントキャンペーン実施中!

ビルダー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")を絶対パスにすると表示されました。

この部分を相対パスにすることはできないのでしょうか?

A 回答 (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>
    • good
    • 0
この回答へのお礼

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

お礼日時:2007/01/30 13:43

プルダウンでは無いですが。


<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>

で動作します。
    • good
    • 0
この回答へのお礼

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

お礼日時:2007/01/30 13:42

とりあえず。

。。
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;
}

で確認した方が早いか。。。
    • good
    • 0
この回答へのお礼

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

私の作り方がまずいのでしょうか?

お礼日時:2007/01/30 10:28

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