jQuery弹出窗口返回父级的值

时间:2010-02-28 22:47:41

标签: asp.net javascript jquery ajax popup

如何使用jQuery完成以下操作:打开一个弹出窗口,当单击子窗口中的链接时,该窗口会向父窗口返回值,关闭子窗口,然后让父窗口自动提交基于返回的值?

我意识到jQuery Dialog是一个流行的解决方案,但我需要一个弹出窗口,因为窗口的内容需要是可导航的,我想避免在jQuery对话框中使用iframe。

弹出窗口将用于收集多个值,最终作为分隔字符串返回给父级,但此数据收集需要在提交父窗口的表单之前进行。如果“实体选择器”有标准设计模式,那就是它。

这需要在IE8,FF3.6,Safari 4和Chrome 5中运行。

谢谢, 标记

2 个答案:

答案 0 :(得分:7)

这是我的解决方案:

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

答案 1 :(得分:6)

在新打开的浏览器窗口中,您可以尝试类似

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

免责声明:我没有在任何浏览器中对此进行测试。