单击按钮时,我打开了子窗口。在此窗口中,我将一些数据保存到数据库中。 我想在子窗口关闭时调用另一个java脚本函数。
我已经尝试过这个Set a callback function to a new window in javascript解决方案,但它无效。
那么请告诉我如何调用回调函数?
成功保存后,我还从子窗口设置了一个隐藏字段。我在更新前尝试提醒这个隐藏值,但是它是警报。
function open_child()
{
$("#child_succ").val(0);
alert($("#child_succ").val());
window.open("child.php","Ratting","width=550,height=300,left=150,top=200,toolbar=1,status=1");
alert($("child_succ").val());
}
回调功能
function test()
{
alert("called from child window");
}
答案 0 :(得分:14)
您可以通过以下方式从子窗口调用父函数:
window.opener.your_function()
在父窗口中调用子函数:
var w = window.open(somelocation,''); //has a function on `window` called "test"
w.test();
如果这些提示有任何帮助,您可以向我们展示您如何使用回调方法。
希望这会对你有所帮助。
问候!
答案 1 :(得分:-1)
在您给我们的示例中,函数在load事件上调用,因此您必须在close事件中更改它:
// This function is defined in the child window
var RunCallbackFunction = function() { }; //reference holder only
// ---------------------------------------------------------------------------
// This code should appear in the parent window
//random function you want to call
function myFunc() { alert("I'm a function in the parent window"); }
//to actually open the window..
var win = window.open("window.html");
win.onclose = function() { win.RunCallbackFunction = myFunc; };