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

How to save jQuery cloned text input to cookie or html5 storage?

本文关键字:cookie 保存 html5 存储 输入 文本 jQuery      更新时间:2023-09-26

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

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

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

使用jQuery serializeArray()可以很容易地获得该数组最简单的格式。如果你需要更多的细节,如标签值、显示设置等,你需要为阵列创建自己的对象

这样你就可以做到:

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

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

jQUery serializeArray()文档

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