我试图弄清楚一旦用户离开页面,如何自动提交表单。有办法吗?
代码:
<form class="carform" method="get">
<input type="hidden" name="number_plate" value="{{ car.number_plate }}">
</form>
因此,当用户单击“后退”按钮或键入另一个URL时,表单将自动提交表单,因此它可以在表单内发送值,而其他视图可以捕获get方法。
编辑: 当用户更改网址或单击浏览器上的后退按钮
答案 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();
});
当您刷新页面并在浏览器上单击“后退”按钮时,此方法效果很好。