jQuery存储和检索表单状态(带数据)

有没有办法将表单状态存储在例如cookie中并检索它?
我检查了 serialize API,但我不知道如何检索表单上的序列化数据.
可能吗?

更新

我推出了我的代码here.检查//结束cookie插件后的javascript代码因为我确信jQuery插件正常工作.

解决方法

是的,您可以使用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方法仅适用于现代浏览器

相关文章

页面搜索关键词突出 // 页面搜索关键词突出 $(function () {...
jQuery实时显示日期、时间 html: &lt;span id=&quot...
jQuery 添加水印 &lt;script src=&quot;../../../.....
中文:Sys.WebForms.PageRequestManagerParserErrorExceptio...
1. 用Response.Write方法 代码如下: Response.Write(&q...
Jquery实现按钮点击遮罩加载,处理完后恢复 思路: 1.点击按...