用户不在页面中时自动提交表单

时间:2019-05-14 10:04:17

标签: javascript django forms

我试图弄清楚一旦用户离开页面,如何自动提交表单。有办法吗?

代码:

<form class="carform" method="get">
 <input type="hidden" name="number_plate" value="{{ car.number_plate }}">
</form>

因此,当用户单击“后退”按钮或键入另一个URL时,表单将自动提交表单,因此它可以在表单内发送值,而其他视图可以捕获get方法。

编辑: 当用户更改网址或单击浏览器上的后退按钮

2 个答案:

答案 0 :(得分:1)

您基本上可以使用window.onbeforeunload事件,但不会在页面刷新时触发。

window.onbeforeunload = closingCode;
function closingCode(){
    document.getElementById("form").submit();
    return null; //<-- this prevents the dialog confirm box
}

答案 1 :(得分:0)

尝试一下:

window.addEventListener('beforeunload', async (event) => {
    event.preventDefault();
    event.returnValue = ''; // For chrome

    await submitYourFormFunction();
});

当您刷新页面并在浏览器上单击“后退”按钮时,此方法效果很好。