自动保存没有jquery或ajax的表单

时间:2013-01-29 20:04:33

标签: javascript forms

我希望在已经建立的系统上有一个“自动保存”功能,我不能对它进行很多/大幅改动。每次对其中一个输入进行更改时,表单应自动保存(也就是提交自身)。我现在拥有它的方式有一个onblur事件绑定到每个输入,将表单提交到processing.php,处理并重定向回到具有更新信息的表单。

这很好并且效果很好但是丢失了标签位置并导致重新加载“闪光”。有没有办法可以自动保存这个表单而不需要ajax或jquery?将变量保存到cookie并在该人离开页面时提交表单?还是其他一些方法?

2 个答案:

答案 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