为了阻止用户离开我的页面,我使用以下javascript:
window.onbeforeunload = function()
{
if($('textarea#usermessage').val() != '')
{
return "You have started writing a message.";
}
};
这显示了一条消息,警告用户不要离开页面,因为他们已经开始写消息但没有提交。这样可以避免用户丢失这些数据。
现在,当提交表单时,我如何阻止该消息显示?
function handleWindowLeaving(message, form) {
$(window).bind('beforeunload', function (event) {
return message;
});
$(form).bind('submit', function () {
$(window).unbind('beforeunload');
});
};
调用this时,传递你的消息和表单引用,它会在提交表单时自动删除onbeforeunload。否则,显示消息给用户
在表单的提交处理程序中设置一个标志;检查是否在卸载处理程序中设置了该标志。如果是——瞧,这是一个表单提交!