localstorage valeurs de réinitialisation après actualisation
je veux avoir un tableau (converti aussi à un localStorage valeur) zone où la valeur de '#textInput " est ajouté à l'localStorage à chaque fois, cependant, après l'actualisation et entrez une nouvelle valeur, la nouvelle valeur n'est pas ajouté à la localStorage, mais le remplace. Je crois que c'est parce que, après l'actualisation des données des utilisateurs[] est définie à null, mais ne sais pas comment le résoudre
var users = new Array();
var valueChanger = 1;
alert(localStorage.getItem('usernames'));
function addValue() {
var newUser = $('#textInput').val();
users.push(newUser);
localStorage.setItem('usernames', users);
alert(localStorage.getItem('usernames'));
}
- localStorage seulement enregistre les chaînes de caractères, donc vous devez vous enregistrer et charger dans une manière spéciale, non chaînes. json.stringify et json.analyser est couramment utilisé
- Ce Juvian dit et vous aussi ne jamais récupérer la valeur d'une variable. Les utilisateurs est initialisé à un nouveau tableau à chaque chargement de la page. Vous devez stringify la valeur au moment du réglage. Analyser et définir une variable sur l'obtention d'. Ensuite, vous pouvez pousser une nouvelle valeur.
Vous devez vous connecter pour publier un commentaire.
Que vous avez à réécrire votre code comme ci-dessous pour le faire fonctionner,
Depuis
localStorage
seulement les magasins destring
, nous avons besoin destringify
le tableau avant de le ranger et deParse
avant la lecture.Vous avez raison dans ce que les utilisateurs est un tableau vide à chaque fois que vous actualisez. Au lieu d'utiliser le nouveau tableau "utilisateurs" dans votre fonction. Récupérer les informations (le cas échéant) de localStorage.setItem('noms d'utilisateur', utilisateurs) et que, pour l'égalité des usagers. Ensuite, vous pouvez pousser les utilisateurs supplémentaires dans les noms d'utilisateur.
À chaque fois, quand la page se rafraîchit vous êtes la première instruction crée un nouveau tableau au lieu d'utiliser un vieux.
Merci & Cheers 🙂