Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations strongm on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

How to set the focus to a child window without refreshing it? 1

Status
Not open for further replies.

patelekta

IS-IT--Management
May 16, 2011
3
CA
I am having a web page which contain four links, each link open a popup window. I am using a common JavaScript function to open popup window, as given below
function OpenPopup(pageURL, title,w,h) {
var left = (screen.width/2)-(w/2);
var top = (screen.height/2)-(h/2);
var targetWin = window.open (pageURL, title, 'toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=Yes, resizable=no, copyhistory=no, width='+w+', height='+h+', top='+top+', left='+left);
targetWin.focus();
}

When I click on a link it will open a popup window, which contain a data entry form, I entered some information into that form. Then I need to review other information, from other popup window, so i go back to my main window, click on another link, a new popup window will get open which contain the information I need to review. I get the information and close this popup window, so now i am on my main window, then again I click on the link for that data entry form, so the popup window comes up but i lost the information that I have entered, it's because I am opening the popup window once again, and the new popup window will replace the existing popup with the same name.

Now my question is,
1 -Is their any way, I can check out the if popup window is already open from parent window?
2 - If the popup window is already open how can I just set the focus to it, rather then reloading it?
3 - How can I refer a child window from parent window, without having object of child window just by the name of child window?
4 - Can I refer a child window from a parent window, even after refreshing the parent window?
 
1 -Is their any way, I can check out the if popup window is already open from parent window?
Yes
2 - If the popup window is already open how can I just set the focus to it, rather then reloading it?

You need to have a reference to it, and use its focus() method.

3 - How can I refer a child window from parent window, without having object of child window just by the name of child window?

You can't.

4 - Can I refer a child window from a parent window, even after refreshing the parent window?

Nope.



The easiest way to do this, is to maintain a global windows array, so you can use that to check whether a window exists or has been closed.

Code:
var myWindows = new Array();
function openWindow(winName, winURL){
 if(myWindows[winName] && !myWindows[winName].closed){
  alert('window already exists');
 }
 else{
  myWindows[winName]=window.open(winURL,winName);
 }
}

function focusWin(winName){
 if(myWindows[winName] && !myWindows[winName].closed){
  myWindows[winName].focus();
 }
 else{
  alert("cannot focus closed or nonexistant window");
 }
}


Focusing a window is also dependent on the browser, some won't allow you to focus a window like Firefox and Chrome.

----------------------------------
Phil AKA Vacunita
----------------------------------
Ignorance is not necessarily Bliss, case in point:
Unknown has caused an Unknown Error on Unknown and must be shutdown to prevent damage to Unknown.

Behind the Web, Tips and Tricks for Web Development.
 
Thanks a lot vacunita for your reply. I am still searching on this seems like I almost get the solution as per my requirement, I will post it once tested properly...
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top