当用户想要离开/关闭/刷新页面时自动提交表单

时间:2018-02-17 21:04:55

标签: jquery wordpress form-submit

我在我的网站上设计了一个表单。 我的表格有一个提交计时器。 我的问题是:如果用户决定离开页面并且不想再提交表单,是否有办法在他/她离开/关闭/刷新页面之前提交表单?

1 个答案:

答案 0 :(得分:2)

执行此操作以检测页面关闭:

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

它不会在刷新时触发。您必须在后端进行操作 - 即通过该会话/ IP地址跟踪对该页面的访问。

但是我会说你正在接近这个错误的方式。而不是在他们离开之前尝试提交。使用阈值为表单和/或其字段提交onChange事件。

这是完整的例子。 HTML

<!DOCTYPE html>
<html>
<head>

</head>
<body>
<form name="refreshForm" id="form" action="form.php">
<input type="text" name="visited" value="" />
<input type="text" value="hello" />
<input type="submit" />
</form>

<script>
window.onbeforeunload = closingCode;
function closingCode(){
   document.getElementById("form").submit();
   return null;
}
</script>
</body>
</html>

PHP(form.php)

<?php

file_put_contents('log.text', $_REQUEST);

这并没有做任何有用的事情,但你会看到它创建文件并写入文件。