解决方法
是的,您可以使用serialize()序列化表单值.
句法:
句法:
$("#your_form").serialize()
将返回您可以处理的字符串,或保存到cookie(您可以使用jquery cookie插件).
编辑:
上面的代码将序列化,但很难检索.
你应该更好地使用serializeArray(),它返回一个名称值对的数组(例如:[{name:“age”,value:“23”},{name:“sex”,value:“male”}]).您可以看到docs以获得更好的解释.
有了它,我们可以构建一个“form to string”函数和一个“string to form”函数:
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 plugin.
希望这可以帮助.干杯
PS:JSON方法仅适用于现代浏览器