如何将jQuery克隆文本输入保存到cookie或html5存储?

时间:2013-12-15 15:10:38

标签: javascript jquery cookies local-storage web-storage

我有一个文本输入,当用户点击按钮时,jQuery克隆输入并再创建一个。

$(document).ready(function(){
$('.add').click(function(event){
    var predmet = $('input.clear:last');
    $('div.clear').before(predmet.clone().val('').slideToggle( "fast" ));
    $('div.clear').before(predmet.next().clone().val(0));
    event.preventDefault();
});

现在,我的问题是 - 如何将输入表单保存到cookie或html5存储(什么是更好的解决方案?)。我想什么时候页面刷新出现克隆文本输入,谁先前用cookie或html5保存。谢谢!

2 个答案:

答案 0 :(得分:1)

您可以创建一个对象数组,可以在保存期间使用JSON.stringify()保存到localStorage,在检索期间使用JSON.parse()将字符串返回到数组。

您保存的内容将取决于您的UI需求。

使用jQuery serializeArray()可以轻松获得此数组的最简单格式。如果您需要更多细节,如标签值,显示设置等,您需要为数组创建自己的对象

因此你可以这样做:

var data = $('#formID').serializeArray();
localStorage.setItem('myFormData', JSON.stringify( data));

然后在页面加载时,从localStorage检索字符串,使用JSON.parse将其返回到数组并循环数组以创建字段

<强> jQUery serializeArray() Docs

答案 1 :(得分:0)

如果您的用户群可能有HTML存储空间,那么html5存储是一个不错的选择。如果您必须支持旧浏览器,Cookie存储会更好。