我希望在用户未完成网页中的所有步骤的情况下删除已保存的数据。
这就是我所做的:
window.onbeforeunload = confirmExit;
function confirmExit()
{
if (!$('body').find('.wizard_completed').attr('class')) {
if (confirm($('body').find('.exit_confirm').html())) {
$.ajax({
type: 'POST',
data: {action: delete_event}
});
}
}
}
问题在于,如果用户点击“取消”,即使不刷新,页面仍会刷新。如果点击取消,我该如何避免刷新页面?
答案 0 :(得分:0)
您必须使用onunload
事件进行AJAX调用,并在onbeforeunload
中显示消息:
window.onbeforeunload = confirmExit;
window.onunload = onunload;
function confirmExit()
{
if (!$('body').find('.wizard_completed').attr('class')) {
return $('body').find('.exit_confirm').html();
}
}
function onunload(){
$.ajax({
type: 'POST',
data: {action: delete_event}
});
}