有什么方法可以将表单状态存储在例如 cookie 中并检索它吗?
我检查了序列化API但我不知道如何检索表单上的序列化数据。
是否可以?
Update
我把我的代码here。检查 // End of cookie 插件后的 javascript 代码,因为我确信 jQuery 插件可以正常工作。
是的,您可以使用序列化表单值serialize()
。
句法:
$("#your_form").serialize()
将返回一个您可以处理的字符串,或保存到cookie(您可以使用jquery cookie插件)。
EDIT:
上面的代码将被序列化,但很难检索。
你应该更好地使用serializeArray()
,它返回一个名称值对数组(例如:[{name: "age", value: "23"}, {name: "sex", value: "male"}]
)。您可以看到docs为了更好的解释。
这样,我们就可以构建一个“表单到字符串”函数和一个“字符串返回表单”函数:
function form2string($form) {
return JSON.stringify($form.serializeArray());
}
function string2form($form, serializedStr) {
var fields = JSON.parse(serializedStr);
for(var i = 0; i < fields.length; i++){
var controlName = fields[i].name;
var controlValue = fields[i].value;
$form.find('[name=' + controlName + ']').val(controlValue);
}
}
使用 form2string 对其进行序列化,并使用 string2form 将字符串设置回表单。要存储和检索序列化,您可以使用cookie插件.
希望这可以帮助。干杯
PS:JSON 方法仅适用于现代浏览器
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)