微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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方法仅适用于现代浏览器

原文地址:https://www.jb51.cc/jquery/181369.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐