如何在用户提交表单时禁用beforeunload操作?

paw*_*ior 24 javascript ajax jquery onbeforeunload

我有这段小代码:

<script>
$(window).bind('beforeunload', function() {
  $.ajax({
    async: false,
    type: 'POST',
    url: '/something'
    });
  });
</script>
Run Code Online (Sandbox Code Playgroud)

我想知道,当用户点击提交按钮时,如何禁用此请求.

基本上就像这里一样,在SO上.当您提出问题并决定关闭页面时,会出现一个警告窗口,但是当您提交表单时不会发生这种情况.

Jac*_*kin 39

unbind使用beforeunload事件处理程序调用:

$('form#someForm').submit(function() {
   $(window).unbind('beforeunload');
});
Run Code Online (Sandbox Code Playgroud)

要阻止提交表单,请添加以下行:

   return false;
Run Code Online (Sandbox Code Playgroud)

  • 添加以下行:`return false;`,但是我在哪里添加该行? (2认同)

Par*_*ham 19

使用

$('form').submit(function () {
    window.onbeforeunload = null;
});
Run Code Online (Sandbox Code Playgroud)

在主要提交功能之前确保你有这个!(如果有的话)