我希望在已经建立的系统上有一个“自动保存”功能,我不能对它进行很多/大幅改动。每次对其中一个输入进行更改时,表单应自动保存(也就是提交自身)。我现在拥有它的方式有一个onblur事件绑定到每个输入,将表单提交到processing.php,处理并重定向回到具有更新信息的表单。
这很好并且效果很好但是丢失了标签位置并导致重新加载“闪光”。有没有办法可以自动保存这个表单而不需要ajax或jquery?将变量保存到cookie并在该人离开页面时提交表单?还是其他一些方法?
答案 0 :(得分:0)
我建议onunload
,它会做你想要的,如果用户离开页面,它就有机会调用JS函数。
答案 1 :(得分:0)
如果您不介意使用AJAX进行自动保存,则可以使用不使用jQuery的版本:
setInterval(function() {
var form = document.getElementById('my-form-id');
var request = new XMLHttpRequest();
request.open(form.method, form.action);
request.send(new FormData(form));
}, 10000);
如果您要以x-www-form-urlencoded
而不是multipart/form-data
的形式发送表单,请在此处查看我的答案:Periodically autosave form。