Problem with window.opener in Firefox/Mozilla

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • fogwolf

    Problem with window.opener in Firefox/Mozilla

    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='ma inPage';window. opener.opener=w indow">

    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="mainPag e" onSubmit="retur n
    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="javascr ipt:window.open er.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!
  • Grant Wagner

    #2
    Re: Problem with window.opener in Firefox/Mozilla

    fogwolf wrote:
    [color=blue]
    > 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='ma inPage';window. opener.opener=w indow">
    >
    > 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="mainPag e" onSubmit="retur n
    > 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="javascr ipt:window.open er.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.[/color]

    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="mainPag e"
    onSubmit="
    if (validate(this) ) {
    window.open('', this.target);
    return true;
    } else {
    return false;
    }
    "[color=blue]
    >[/color]

    --
    Grant Wagner <gwagner@agrico reunited.com>
    comp.lang.javas cript FAQ - http://jibbering.com/faq

    Comment

    Working...