首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在用户提交表单时禁用beforeunload操作?

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

Stack Overflow用户
提问于 2011-01-25 06:32:46
回答 7查看 41.4K关注 0票数 32

我有一小段代码:

代码语言:javascript
复制
<script>
$(window).bind('beforeunload', function() {
  $.ajax({
    async: false,
    type: 'POST',
    url: '/something'
    });
  });
</script>

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

基本上类似于这里,在这样的情况下。当你问一个问题并决定关闭页面时,你会得到一个警告窗口,但当你提交表单时,这种情况不会发生。

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2011-01-25 06:37:08

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

代码语言:javascript
复制
$('form#someForm').submit(function() {
   $(window).unbind('beforeunload');
});

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

代码语言:javascript
复制
   return false;
票数 46
EN

Stack Overflow用户

发布于 2013-06-21 03:08:58

使用

代码语言:javascript
复制
$('form').submit(function () {
    window.onbeforeunload = null;
});

在你的主要提交函数之前,确保你已经有了这个!(如有)

票数 20
EN

Stack Overflow用户

发布于 2014-08-28 17:14:11

这是我们使用的:

在文档ready上,我们调用beforeunload函数。

代码语言:javascript
复制
$(document).ready(function(){
    $(window).bind("beforeunload", function(){ return(false); });
});

在任何submit或location.reload之前,我们先解除变量的绑定。

代码语言:javascript
复制
$(window).unbind('beforeunload');
formXXX.submit();

$(window).unbind("beforeunload"); 
location.reload(true);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4787995

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档