首页 > 解决方案 > 窗口卸载时提交表单

问题描述

我有一个 id = testsForm 的 HTML 表单。当用户试图离开页面时,我编写了一个基本函数,使用 window.onbeforeunload 函数要求用户确认。现在,如果用户在询问时选择离开页面,我正在尝试提交表单。这是我尝试过的:

submitted=false,saveBeforeUnload=false;
window.onbeforeunload = function () {
       if (!submitted) {
             saveBeforeUnload=true;
             return "You are about to leave this order form. You will lose any information...";
       }
 }

setInterval(function() {
              if (saveBeforeUnload) {
                       saveBeforeUnload = false;
                       document.getElementById('testsForm').submit();
              }
}, 500);

我不知道为什么这似乎不起作用。请帮帮我。

标签: javascripthtmlnode.js

解决方案


从道德上讲,除非明确说明或内部申请,否则我不确定您是否应该这样做。

但是,如果您不熟悉 Ajax,请围绕它进行一些研究。您应该能够在 onbeforeunload 事件中收集数据并将其提交回服务器。

希望对您有所帮助,请务必让我们知道您的情况。


推荐阅读