Click to See Complete Forum and Search --> : iframe
Beach Bum
12-05-2002, 11:06 PM
if you create an iframe, is there a way to change the src - dynamically change it to a different htm document?
i have tried the obvious - document.iframeName.src and everything else i can think of.
i am trying to swap the contents with a button.
Rick Bull
12-06-2002, 04:46 AM
I think you need to use the frames array:
HTML:
<iframe name="iframe1" src="whatever.htm"></iframe>
JS:
document.frames['frame1'].src = 'whereever.htm';
I think that's right; going from memory.
Beach Bum
12-06-2002, 10:33 AM
Rick -
In your example above i changed the js to:
document.frames['iframe1'].src = 'whereever.htm';
to match the names (caught that because it generated an error).
however, still no luck. seems to do nothing for me (src did not change - but no error generated). i will poke around some more with it. i am not familiar with the frames array.
any additional thoughts?
Zach Elfers
12-06-2002, 10:44 AM
This might work. The user will have to have JavaScript though.
Instead of <iframe src="whatever.html"> do:
<script language="JavaScript" type="text/JavaScript">
document.write("<iframe src=\"");
function pageOne() {
document.write("page1.html");
}
function pageTwo() {
document.write("page2.html");
}
document.write("\">");
</script>
<body onLoad="pageOne();">
<input type="button" value="page1.html" onClick="page2.html;">
I don't know if that will work, but maybe it will. You might to do some tweaking of the code.
Beach Bum
12-06-2002, 11:11 AM
got it:
document.iframe1.location.replace("xxx.htm");
thanks for all the input everyone.
but i am still curious about the frames array. must do some research.
Rick Bull
12-06-2002, 11:14 AM
Heh, I was just about to post this:
document.frames['iframe1'].location.href
Beach Bum
12-06-2002, 11:20 AM
Rick -
either what you posted or what i posted works great with IE6. thanks for coming back.
but on further testing, neither solution works with NS7.
this cross-browser stuff is going to drive me nuts.
Zach Elfers
12-06-2002, 11:23 AM
Hopefully, someday, all the browsers will be as good as IE.:D :D :D
Rick Bull
12-06-2002, 01:17 PM
IE the best, hmm that's a matter of opinion :p
To get this to work in NS you probably need to use window.frames instead of document.
Beach Bum
12-06-2002, 01:29 PM
can't get window. rather than document. to work in NS either.
but thanks for the idea.
jeffmott
12-06-2002, 06:45 PM
Using window instead of document worked in both browsers for me ( tested in IE6 and NS7 ).
document.frames['iframe1'].location.href = 'some-page.html'
Beach Bum
12-06-2002, 08:12 PM
thanks for coming back at me again. window. is working for me now as well in both browsers. i must have messed something up on my other test.
thanks to all who pitched in. don't you love a happy ending!