Solved

Submitting a form with "opener" as the target

Posted on 2002-05-16
4
517 Views
Last Modified: 2008-02-01
I have an HTML page that displays data. On that form there's a button that opens another HTML (using window.open) that allows the user to change preferences.

The preferences HTML looks like a regular application popup. When the user presses OK, I have a very complicated form, which I want to submit.

My problem - I want the target to be the "main" page - the one that displays the data. I tried using the target property of the form in the popup page, but it doesn't work:
- I can't use "_parent" since the parent of a window created using window.open() is the window itself.
- The same goes for "_top".
- There's no target="_opener" (Using opened I can get from the popup page to the main page).
- I tried having the main page as a frame with a name. Still, having the target of the popup page point to that frame doesn't work.

One final word: I need something to work with IE5+, NN6. Thanks.
0
Comment
Question by:barakori
  • 2
4 Comments
 
LVL 30

Expert Comment

by:third
Comment Utility
a workaround on this is to create same form from the opener window. upon the click of "ok" button the values of the popup form will be copied to the opener form then submit then close the popup window.


In the main page:

<HTML>
<HEAD>
<SCRIPT LANGUAGE="JavaScript"><!--
myPopup = '';

function openPopup(url) {
    myPopup = window.open(url,'popupWindow','width=640,height=480');
    if (!myPopup.opener)
         myPopup.opener = self;
}
//--></SCRIPT>
</HEAD>
<BODY>
<FORM>
<INPUT TYPE="BUTTON" VALUE="Open Popup" onClick="openPopup('popupPage.html')">
</FORM>

<FORM NAME="hiddenForm" ACTION="nextPage.html">
<INPUT TYPE="HIDDEN" NAME="myTextField">
</FORM>

</BODY>
</HTML>

 

In the popupPage.html:

<HTML>
<HEAD>
<SCRIPT LANGUAGE="JavaScript"><!--
function copyForm() {
    opener.document.hiddenForm.myTextField.value = document.popupForm.myTextField.value;
    opener.document.hiddenForm.submit();
    window.close();
    return false;
}
//--></SCRIPT>
</HEAD>
<BODY>
<FORM NAME="popupForm" onSubmit="return copyForm()">
<INPUT TYPE="TEXT" NAME="myTextField">
<INPUT TYPE="BUTTON" VALUE="Submit" onClick="copyForm()">
</FORM>
</BODY>
</HTML>

http://developer.irt.org/script/338.htm
0
 
LVL 2

Accepted Solution

by:
Marianne earned 200 total points
Comment Utility
You should state
<script>window.opener.name="main";</script>
in your popup, and correspondingly put target in form tag:
<form target=main ... >
0
 

Author Comment

by:barakori
Comment Utility
leveret - Excellent and elegant solution.
Kudos.
0
 
LVL 2

Expert Comment

by:Marianne
Comment Utility
barakori,

:-)
0

Featured Post

IT, Stop Being Called Into Every Meeting

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

Join & Write a Comment

Suggested Solutions

Title # Comments Views Activity
JDeveloper 12c for 32 bit 4 34
updateParent() HTML Javascript 21 59
Python On Mouseover Save URL/Link 4 29
Hovering effect 9 28
In my daily work (mainly using ASP.net), I need to write a lot of JavaScript code. One of the most repetitive tasks I do are the jQuery Ajax calls. You know: (CODE) I don't know if for you it's the same, but for me is soooo tedious to write the …
This article demonstrates how to create a simple responsive confirmation dialog with Ok and Cancel buttons using HTML, CSS, jQuery and Promises
The viewer will learn the basics of jQuery, including how to invoke it on a web page. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery.: (CODE)
The viewer will learn the basics of jQuery including how to code hide show and toggles. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery…

744 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

15 Experts available now in Live!

Get 1:1 Help Now