jQuery Popup Window Return Value to Parent

How can I accomplish the following using jQuery: Open a popup window that returns a value to the parent window when a link in the child window is clicked, close the child window, and then have the parent automatically submit a form based on the value returned?

I realize that the jQuery Dialog is a popular solution, but I require a popup window because the window’s contents need to be navigable, and I want to avoid using an iframe in the jQuery Dialog.

The popup window is going to be used to collect more than one value, ultimately to be returned as a delimited string to the parent, but this data collection needs to occur prior to the submission of the parent window’s form. If there were a standard design pattern for an “Entity Picker”, this would be it.

This needs to work in IE8, FF3.6, Safari 4, and Chrome 5.

Thanks,
Mark

Answers:

Thank you for visiting the Q&A section on Magenaut. Please note that all the answers may not help you solve the issue immediately. So please treat them as advisements. If you found the post helpful (or not), leave a comment & I’ll get back to you as soon as possible.

Method 1

Here is my solution:

var parent = $(parent.document.body);
$(parent).find('input#valStore').val(theVal);
$(parent).find('form#myForm').submit();
window.close();

Method 2

In your newly opened browser window you could try something like

$("#mylink").click(function(){ 
        value = /* get some value */
        window.opener.$("#myform .somehiddenfield").val(value); 
        window.opener.$("#myform").submit();
        window.close(); 
});

DISCLAIMER: I haven’t tested this in any browser.


All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0

0 0 votes
Article Rating
Subscribe
Notify of
guest

0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x