作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我们有一个很长的表格需要用户填写,它有 10 个多项选择题。我们面临的一个问题是,用户填写了 4-5 个问题,然后就不再继续填写。
我们希望将部分填写的表单信息发送到服务器。
实现此目的的一种方法是在每个步骤中发送数据,即用户回答任何问题后立即发送数据。但这会导致 API 命中过多,并减慢客户端的填充过程。
是否有其他方法可以实现此目的,即通过使用 js unload 事件,或者我们可以在用户更改选项卡/关闭浏览器/或使用任何其他方法退出页面时在客户端检测到吗?
最佳答案
我一直对表单执行此操作,以捕获潜在的表单放弃情况。因此,每次输入字段出现模糊时,它都会检查频率并将表单数据作为帖子发送到处理程序,您可以在其中接收数据并在/abandoned/handler.php 文件中执行您需要的操作。
Javascript(确保首先初始化 JQuery):
function sendAbandoned() {
var now = new Date();
now = Math.floor(now / 1000);
if ((now - lastUpdate) < 10) {
// make sure doesn't send too many "updates"
return false;
}
lastUpdate = now;
var formArr=$("form[name='formName']").serializeArray();
$.post('/path/to/abandoned/handler.php',
formArr);
}
$("form[name='formName'] input").blur(function () {
sendAbandoned();
});
关于javascript - 如何将半填的表单数据发送到服务器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45469884/
我是一名优秀的程序员,十分优秀!