0

我有一个文本输入,当用户单击按钮时,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 保存。谢谢!

4

2 回答 2

1

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

您保存的内容在一定程度上取决于您的 UI 需求。

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

因此你可以这样做:

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

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

jQUery serializeArray() 文档

于 2013-12-15T15:48:01.757 回答
0

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

于 2013-12-15T15:18:06.680 回答