将多个记录添加到本地存储中

时间:2014-07-01 12:16:05

标签: javascript json html5

我尝试做的是使用html5将多个值(user1,user2,user3 ...)添加到本地存储中。但问题是每当我添加一条记录时,旧记录都会被删除。如果有人可以提供帮助,这是我的代码:

         $("#submit").click(function(){
         if ('localStorage' in window && window['localStorage'] !== null) {
        try {
            var user = JSON.stringify({ 
                 email : $("#email").val(), 
                 username : $("#username").val(), 
                 password : $("#password").val(), 
                    });

            localStorage.setItem("user", JSON.stringify(user)); 
            alert("The data was saved."); 
            return true;
        } catch (e) {
            if (e == QUOTA_EXCEEDED_ERR) {
                alert('Quota exceeded!');
            }
        }
        } else {
            alert('Cannot store user preferences as your browser do not support local storage');
        }
    });
请任何人都可以帮忙???

4 个答案:

答案 0 :(得分:2)

您可以使用电子邮件识别每条记录(电子邮件是唯一的):

var user = {
    email : $("#email").val(), 
    username : $("#username").val(), 
    password : $("#password").val()
}

var record = JSON.stringify(user);
localStorage.setItem(user.email, record); 

答案 1 :(得分:0)

浏览器中的localStorage只是一个简单的键值存储。要么为每个用户提供自己的密钥,要么将user密钥设置为用户数组。

答案 2 :(得分:0)

您可以存储一组用户。 Demo

var user = JSON.stringify({ 
                 email : $("#email").val(), 
                 username : $("#username").val(), 
                 password : $("#password").val(), 
                    }),
                users = localStorage.getItem('user');

            users = users ? JSON.parse(users) : [];

            users.push(user);

            localStorage.setItem("user", JSON.stringify(users)); 

答案 3 :(得分:0)

## This would be a simple way to save multiple data into localStorage ##    


var arrList=[];
var dataList=null;
var dataValue={email : $("#email").val(), 
             username : $("#username").val(), 
             password : $("#password").val()};
dataList=JSON.parse(localStorage.getItem("localKey"));

if(arrList!=null)
{
arrList=dataList;
arrList.push(dataValue);

}
 else{

arrList.push(dataValue);
}
localStorage.setItem("localKey",JSON.stringify(arrList);