要阻止用户离开我的网页,我正在使用此javascript:
window.onbeforeunload = function()
{
if($('textarea#usermessage').val() != '')
{
return "You have started writing a message.";
}
};
这会显示一条消息,警告用户不要离开页面,因为他们已经开始编写邮件但未提交。这表示可以防止用户丢失此数据。
现在,如何在提交表单时停止显示此消息?
答案 0 :(得分:9)
function handleWindowLeaving(message, form) {
$(window).bind('beforeunload', function (event) {
return message;
});
$(form).bind('submit', function () {
$(window).unbind('beforeunload');
});
};
调用此方法时,请传递您的消息和表单引用,并在提交表单时自动删除onbeforeunload。否则,向用户显示消息
答案 1 :(得分:5)
在表单的提交处理程序中设置一个标志;检查是否在卸载处理程序中设置了标志。如果是 - 瞧,这是表格提交!