繁体   English   中英

阻止用户离开 web 页面,提交表单时除外

[英]Stop user from leaving web page, except for when submitting form

为了阻止用户离开我的页面,我使用了这个 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');
    });
};

调用此方法时,传递您的消息和表单引用,它会在提交表单时自动删除 onbeforeunload。 否则,向用户显示消息

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM