Problem with window.opener in Firefox/Mozilla

F

fogwolf

First a basic outline of what I am trying to do:

I want to have a page spawn a pop-up when you click "submit" on its
form. On this pop-up page there will be another form. When you click
"submit" on the pop-up's form I want the pop-up to close & a new page
to load in the "parent" window/page. I have this working in IE but
cannot get it to work in Firefox. The parent window correctly loads
the new page after submitting from the pop-up, however the pop-up will
not close. Here is what I have in my pop-up page:

<body bgcolor=#fffff0
onLoad="window.opener.name='mainPage';window.opener.opener=window">

Basically giving a name to the parent window & then setting the parent
window's opener to the pop-up. Here is my form tag for the pop-up
page:

<form action=geturls.jsp target="mainPage" onSubmit="return
validate(this)">

So now the target of the submission from the pop-up is the initial
parent window. The next page which loads in the parent window (after
submitting from the pop-up) has the following body tag:

<body bgcolor=#fffff0 onLoad="javascript:window.opener.close()">

Since I set the pop-up as the opener of the parent window from the
pop-up html with the tag I show above, this should work. It does work
perfectly in IE but in Firefox the pop-up stays open & I get the
following javascript error:

window.opener has no properties

I am using Firefox 0.9.3.

I should also mention that the "validate()" method in pop-up needs to
return "true" if there are no validation errors with the pop-up's form
& then post the form to the main page since it loads a *different*
page (i.e. it doesn't just reload the page already loaded in the
parent window), so I cannot just call "window.close()" in the
validate() function.

Thanks!
 
G

Grant Wagner

fogwolf said:
First a basic outline of what I am trying to do:

I want to have a page spawn a pop-up when you click "submit" on its
form. On this pop-up page there will be another form. When you click
"submit" on the pop-up's form I want the pop-up to close & a new page
to load in the "parent" window/page. I have this working in IE but
cannot get it to work in Firefox. The parent window correctly loads
the new page after submitting from the pop-up, however the pop-up will
not close. Here is what I have in my pop-up page:

<body bgcolor=#fffff0
onLoad="window.opener.name='mainPage';window.opener.opener=window">

Basically giving a name to the parent window & then setting the parent
window's opener to the pop-up. Here is my form tag for the pop-up
page:

<form action=geturls.jsp target="mainPage" onSubmit="return
validate(this)">

So now the target of the submission from the pop-up is the initial
parent window. The next page which loads in the parent window (after
submitting from the pop-up) has the following body tag:

<body bgcolor=#fffff0 onLoad="javascript:window.opener.close()">

Since I set the pop-up as the opener of the parent window from the
pop-up html with the tag I show above, this should work. It does work
perfectly in IE but in Firefox the pop-up stays open & I get the
following javascript error:

window.opener has no properties

I am using Firefox 0.9.3.

It would appear that Firefox does not set window.opener when a window is
opened using the TARGET attribute alone. So open the window using
JavaScript and window.opener will be set appropriately (assuming the
window opens at all that is).

Variation on <url: http://jibbering.com/faq/#FAQ4_37 />:

<form action=geturls.jsp target="mainPage"
onSubmit="
if (validate(this)) {
window.open('', this.target);
return true;
} else {
return false;
}
"
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,744
Messages
2,569,482
Members
44,900
Latest member
Nell636132

Latest Threads

Top