- 主题:大家用什么方法来自动保存web表单中的内容呢?
比如一个比较复杂的web表单,有时候操作人员经常碰到网络故障,或是误操作造成提交时出错,再返回原来的页面,之前花了很长时间填写的内容都丢失了。一般来说搞一个自动保存表单内容用什么方案?需要后台配合吗?还是前端想办法直接存到cookie里面?有没有什么现成的组件之类的东西?
谢谢。
--
FROM 116.226.178.*
把大表单拆成小表单,每次编辑其中一部分。就像某些网站上的简历那样。
【 在 lqa 的大作中提到: 】
: 比如一个比较复杂的web表单,有时候操作人员经常碰到网络故障,或是误操作造成提交时出错,再返回原来的页面,之前花了很长时间填写的内容都丢失了。一般来说搞一个自动保存表单内容用什么方案?需要后台配合吗?还是前端想办法直接存到cookie里面?有没有什么现成的组件之类的东西?
: 谢谢。
--
FROM 123.66.171.*
不能自己做各相应事件, 输入多少字就自动保存到cookie里, 或者
计算机上某个文件?
【 在 lqa (人生不如意十之八九) 的大作中提到: 】
: 比如一个比较复杂的web表单,有时候操作人员经常碰到网络故障,或是误操作造成提交时出错,再返回原来的页面,之前花了很长时间填写的内容都丢失了。一般来说搞一个自动保存表单内容用什么方案?需要后台配合吗?还是前端想办法直接存到cookie里面?有没有什么现成的组
: 谢谢。
--
FROM 59.52.249.*
可以用定时器自动保存吧,保存的接口就按正常的保存接口写呗。
--
FROM 125.39.114.*
如果网络故障的话,后台配合是没有用的,
需要用js+cookie(或者其他storage api)实现。
现成的库里,jQuery可以完成一半功能。
============================================================
var setCookie(name,val) = ...,
getCookie(name) = ...;
var saveForm = function() {
var s = $('#form1').serialize();
setCookie('formdata', s);
return false; // alway cancel event
}
============================================================
stackoverflow 上有人写了还原这个参数的插件:
http://stackoverflow.com/a/24441276
============================================================
var restoreForm = function() {
var s = getCookie('formdata');
if (s) $('#form1').deserialize(s);
}
============================================================
有了save和restoreForm,就可以设置一些自动储存的条件:
============================================================
window.setInterval( saveForm, 10e3 ); // 每10秒保存一次
$('#form1').on( 'submit', saveForm ); // 表单提交时保存一次
$().ready( restoreForm ); // 页面加载后试图恢复一次
============================================================
提交成功后清除cookie,可以在服务器端完成,都是很容易实现的。
在客户端存取Cookie,有很多现成的库。比如 Cookies、jQuery cookie等。俺就不介绍了。
【 在 lqa (人生不如意十之八九) 的大作中提到: 】
: 比如一个比较复杂的web表单,有时候操作人员经常碰到网络故障,或是误操作造成提交时出错,再返回原来的页面,之前花了很长时间填写的内容都丢失了。一般来说搞一个自动保存表单内容用什么方案?需要后台配合吗?还是前端想办法直接存到cookie里面?有没有什么现成的组
: 谢谢。
--
FROM 111.214.10.*