Вызов функции обратного вызова при закрытии дочернего окна
У меня есть открытое дочернее окно при нажатии кнопки. В этом окне я сохраняю некоторые данные в базе данных.
Я хочу вызвать другую функцию java script, когда дочернее окно закрыто.
Я уже пробовал это Установить функцию обратного вызова в новое окно в 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");
}
Ответы
Ответ 1
Вы можете вызвать родительскую функцию из дочернего окна следующим образом:
window.opener.your_function()
Чтобы вызвать дочернюю функцию в родительском окне:
var w = window.open(somelocation,''); //has a function on `window` called "test"
w.test();
Если какой-либо из этих советов поможет вам, вы можете показать нам, как был использован метод обратного вызова.
Надеюсь, это поможет вам.
Привет!
Ответ 2
В примере, который вы нам дали, функция вызывается при событии загрузки, поэтому вам нужно изменить ее при закрытии события:
// 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; };