954,600 Members — Technology Publication meets Social Media
Username:
Password:
Lost login information?
Have something to say? Contribute New Article Reply to this Article

window location using frames

Hey all.
I have been messing around with javascript for a while now and I am not all too good with it. I built a little javascript program that takes the input from a text box and depending on what's in there, it goes to a certain page. I am using

window.location("url here");

my problem is that I have this script loaded on a page with frames and this loads in the top frame. When the script is executed, it opens the new page in the top frame, but I need it to open the page in the bottom frame. Can anyone help me understand how to do this? Thanks in advance.
-Nick

stupidenator
Junior Poster
192 posts since Mar 2005
Reputation Points: 18
Solved Threads: 4
 

I'm not sure where the concept of "bottom" fits within the frame hierarchy. But you can refer to specific frames using an indexer of the frame collection:

frames[1], frames[2], and so on.

Also look at the "top" and "parent" objects, and possible the "this" keyword, the "self" object, and so on. Seeing some code would help us help you.

tgreer
Made Her Cry
Team Colleague
2,118 posts since Dec 2004
Reputation Points: 227
Solved Threads: 37
 

here is the code for it.

<SCRIPT LANGUAGE="JavaScript">

<!-- Begin
var g;
function track()
{
g=document.log1.T1.value;

if (g.length == 18 || g.length == 24) { window.location="http://wwwapps.ups.com/WebTracking/processInputRequest?InquiryNumber1="+g+"&AgreeToTermsAndConditions=yes&track.x=22&track.y=4"; }
else { window.location="http://search.ebay.com/search/search.dll?satitle="+g; }

}
//  End -->
</script>


when the submit button is pressed, it calls the track() method and with the way it is set up now, it opens it in the same frame. I need to be able to have the script open it in another frame. Thanks for your help!
Nick

stupidenator
Junior Poster
192 posts since Mar 2005
Reputation Points: 18
Solved Threads: 4
 

Thanks. We'll need to see your stripped-down frameset code, so we can see how many frames you have, their relationship to each other, the IDs you've given them, and so on.

tgreer
Made Her Cry
Team Colleague
2,118 posts since Dec 2004
Reputation Points: 227
Solved Threads: 37
 

Here is the frameset page. Thanks for your help.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link REL="shortcut icon" HREF="images/icon.jpg" TYPE="image/x-icon"> 
</head>

<frameset rows="115,*" frameborder="NO" border="1" framespacing="0">
  <frame src="header.html" name="topFrame" scrolling="NO" noresize >
  <frame src="home.html" name="mainFrame">
</frameset>
<noframes><body>
<h2><center>Your Browser does not support Frames which are in use on the page you are trying to view. Please re-adjust your browser and try again. Thank you.</center></h2>


</body></noframes>
</html>

Nick

stupidenator
Junior Poster
192 posts since Mar 2005
Reputation Points: 18
Solved Threads: 4
 

Modify your window.location statement in your track() procedure to reference a specific frame, rather than the entire "window":

top.frames["mainFrame"].location.href="www.tgreer.com";
tgreer
Made Her Cry
Team Colleague
2,118 posts since Dec 2004
Reputation Points: 227
Solved Threads: 37
 

Thank you very much for the help. It does work! But if I can ask one more quesiton, I am not really understanding the 'top' call in

top.frames["frame"].location="www.com";

Could you maybe explain that a little bit? Thank you for replying
Nick

stupidenator
Junior Poster
192 posts since Mar 2005
Reputation Points: 18
Solved Threads: 4
 

"Top" is the top-level window object in the hierarchy. Think of it as your "frameset" page.

So "top" contains all of your frames. You're saying, "go to the top window object, look into all the frames it contains, find the one named 'mainFrame', and set that frame's location to the URL 'www.tgreer.com'.

tgreer
Made Her Cry
Team Colleague
2,118 posts since Dec 2004
Reputation Points: 227
Solved Threads: 37
 

Thanks a lot! I understand that now!
-Nick

stupidenator
Junior Poster
192 posts since Mar 2005
Reputation Points: 18
Solved Threads: 4
 

You're welcome!

tgreer
Made Her Cry
Team Colleague
2,118 posts since Dec 2004
Reputation Points: 227
Solved Threads: 37
 

thanxxxxxx

tarun9950
Newbie Poster
1 post since May 2011
Reputation Points: 10
Solved Threads: 1
 
almostbob
Posting Sensei
3,149 posts since Jan 2009
Reputation Points: 571
Solved Threads: 376
 

This question has already been solved

Post: Markdown Syntax: Formatting Help
You