Neo*_*ile 5 javascript jquery form-submit window.open window.opener
我有一个父窗口,我在其中使用 window.open() 打开弹出窗口,并且我正在使用 window.opener 方法监视该弹出窗口的返回。我在这里有两个疑问:
代码:
// parent window handling of information returned from the pop-up window
function HandlePopupResult(value) {
alert("The field value is: " + value);
$("input[value='Search']").trigger("click");
}
//pop-up window handling of information to be returned to the parent window on submission
$("#myForm").submit(function() {
window.opener.HandlePopupResult($("#field").val());
window.close();
});
Run Code Online (Sandbox Code Playgroud)
所以我的问题是:如何确保提交已完成,以便我在父窗口中触发搜索点击并关闭此弹出窗口?请让我知道。
我终于能够正确地将信息发送回我的父表单,但我只需要确保我的提交完成。关于确保仅在提交成功后触发我的事件的任何建议?
干杯。
这对其他人将来会有帮助。我只需将上面的代码修改为下面给出的代码就可以自己实现这一点:
// parent window handling of information returned from the pop-up window
function HandlePopupResult(value) {
alert("The field value is: " + value);
$("input[value='Search']").trigger("click");
}
Run Code Online (Sandbox Code Playgroud)
将表单提交更改为 AJAX post 调用,以确保表单提交已发生,然后执行处理弹出窗口结果的剩余任务,然后关闭弹出窗口。奇迹般有效!
//pop-up window handling of information to be returned to the parent window on submission
$("#myForm").submit(function() {
$.ajax({
type: 'POST',
url: $(this).attr('action'),
data: $(this).serialize(),
success: function(data) {
window.opener.HandlePopupResult($("#field").val());
window.close();
}
});
return false;
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2271 次 |
| 最近记录: |