【问题标题】:Submit a form on browser window close or onbeforeunload [duplicate]在浏览器窗口关闭或onbeforeunload时提交表单[重复]
【发布时间】:2018-04-19 18:54:12
【问题描述】:

我有一个用户进度数据存储在我定期提交的表单中,或者在应用程序的某个顺序或退出按钮上。

我面临的问题是,如果用户浏览应用程序,然后直接关闭浏览器窗口(而不是单击应用程序中的退出按钮),用户进度数据会丢失,因为表单提交不起作用并且浏览器窗口在此之前关闭。

我尝试了以下方法,它在 Chrome 中运行良好:

function listenForUnloadEvent()
{
    $(window).on('beforeunload', function ()
    {
       ... trackBeforeExitCourse();
    }
}

function prepareForm() {
    .....
    $(window).bind('beforeunload', function () {
        myForm.submit();
    });
}

但是,上面的代码在 Safari 或 Firefox 上不起作用。

客户端不想在尝试关闭窗口时显示任何警告消息,而是希望我们提交表单并存储用户进度数据。

任何帮助将不胜感激。

【问题讨论】:

  • bind 已弃用...
  • 谢谢,但有其他方法吗?
  • 欢迎......&是的,请改用on..
  • 已经使用-$(window).on('beforeunload', function()来触发函数。

标签: javascript jquery forms


【解决方案1】:

尝试如下。您可以refer this MDN document了解更多信息。

$(window).on('beforeunload', function(e) { 
   $('form').submit();
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-15
    • 2015-04-27
    • 1970-01-01
    • 1970-01-01
    • 2012-09-24
    • 2010-10-13
    相关资源
    最近更新 更多