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

前端之家收集整理的这篇文章主要介绍了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方法仅适用于现代浏览器

猜你在找的jQuery相关文章