Я показываю предупреждающее сообщение, если пользователь пытается закрыть окно без сохранения формы.
window.onbeforeunload = askConfirm;
function askConfirm()
{
// needToConfirm is set to true if any changes are there in the form
if (needToConfirm)
{
return "Your unsaved data will be lost.";
}
}
function call_this_if_user_clicks_on_cancel()
{
// Bla bla bla
// After this user should remain on the same page.
}
Теперь я хочу вызвать другую функцию, когда пользователь нажимает Okay
. Остальная функциональность должна оставаться такой же.
Итак, как я могу собрать возвращаемое значение onbeforeunload
и вызвать другую функцию?
РЕШЕНИЕ:
needToConfirm = false;
window.onbeforeunload = askConfirm;
window.onunload = unloadPage;
isDelete = true;
function unloadPage()
{
if(isDelete)
{
call_this_if_user_clicks_on_cancel()
}
}
function askConfirm()
{
alert("onbeforeunload");
if (needToConfirm)
{
// Message to be displayed in Warning.
return "Your data will be lost.";
}
else
{
isDelete = false;
}
}
Спасибо Алекс.