阻止用户离开网页,除非提交表单



为了阻止用户离开我的页面,我使用以下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。否则,显示消息给用户

在表单的提交处理程序中设置一个标志;检查是否在卸载处理程序中设置了该标志。如果是——瞧,这是一个表单提交!

相关内容

  • 没有找到相关文章

最新更新