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

ページに複数のボタン(リンク)があり、それをクリックすることで同一ページ内のiframeの内容を変更させたいです。

色々なところを探した結果、
function Change()
{document.ifSample.location.href="xxx.html";}

<FORM><INPUT type="button" value="変更!1" onclick="Change()"></FORM>
の組み合わせで、単一ページの変更が出来るというのは判りました。
これを複数ページ用に改造するにはどのようにしたら良いでしょうか?
方法がありましたら教えてください。

A 回答 (3件)

>>2 さん



おっと失礼しました(^^;;
質問文で出来ると書いてあったので
出来るという前提で書いてました。

<iframe name="ifSample" id="if" src="xxx.html">
</iframe>

とすると

function Change(){
if(document.getElementById){
//NN6,Mozilla,IE5用
document.getElementById('if').src = 'yyy.html';
} else if(document.all){
//IE4用
document.all(idName).src = 'yyy.html'
} else if(document.layers){
//NN4用
document.layers[idName].src = 'yyy.html'
}
}
という感じですかね。

#IE4やNN4の環境が無いので確認できていないですが
#document.getElementById('if').src = 'yyy.html'
#はできます。
#それ以前に、NN4ではiframe自体対応してないですね(^^;;

>> master-3rd さん

とりあえず、こちらを参照してください(^^;;
    • good
    • 0
この回答へのお礼

返答ありがとうございます。
しかし、私の小さな脳味噌ではどうもすべてを理解できないようです。orz

ボタンは複数個置きます。それぞれをクリックすると、それぞれのページが見えるという形です。
しかも、ボタンの数は今後も増える予定です。
上のスクリプト本体をどうこうするのではなく、ボタンの方で行き先を管理できないでしょうか?

再度お願いいたします。

お礼日時:2006/03/09 15:57

iFrameでふつー、



function Change(){
document.ifSample.location.href="xxx.html";
}

は行かないんじゃないですか?
記憶が正しければ、IE5,IE6ではもちろんですが、
MacのWinでIE5+、Mozilla1.4 でも動かないでしょう。
たぶん、Safari 1.0 Opera 7.2もダメだと思った。
    • good
    • 0

そこまでわかっていればあと一息です( ´∀`)



location.href="xxx.html"自体の意味はわかりますよね。
ifSampleという名前のiframeの中のロケーションを
xxx.htmlにするというものです。
では、複数変えたい時は?

という事です。

もうちょっとヒント
ifSampleをxxx.htmlに変えるには
document.ifSample.location.href="xxx.html"

ifSample2をyyy.htmlに変えるには
document.ifSample2.location.href="yyy.html"

ボタンが2つなら、それぞれを変更するfunctionを
呼べばいいわけです。
では、1つのボタンでするには?

これでわかりますかね?(´・ω・`)

またわからなかったら書いてください。
    • good
    • 0

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