11497 sujets

JavaScript, DOM et API Web HTML5

Bonjour,

Je voudrais stocker dans la value de l'item localstorage un tableau de données au lieu d'une seule valeur.
Pour la key, j'utilise un indice qui s'auto-incrémente à chaque fiche formulaire validé.
Pour la value, j'ai un tableau de type hash (objet littéraux) avec un indice : valeur qui correspond au contenu de chaque champ de mon formulaire.

Ci- dessous un extrait du code.

var nom = document.querySelector('#nom').value;
var email = document.querySelector('#email').value;
[...]

var data={	
		nom: nom,
		civilId : VarRecupId,
		civilVal : valRecupId,
		email: email,
		tel: tel,
		adr: adr,
		cp: cp,
		ville: ville,
		corpo: valRecupIdCheck1,
		pub: valRecupIdCheck2,
		finance: valRecupIdCheck3,
		identifiant: identifiant,
		pwd: pwd,
		renseignements: renseignements,
		latitude : latitude,
		longitude : longitude
	   };
	   
	   var key=indice;
	   window.localStorage.setItem(key, data);


Dans la console Chrome, en vérifiant le contenu de ce qui est stocké dans le localstorage avec cette syntaxe, j'ai dans value : Object Object

Donc est ce possible de stocker un tableau de valeur dans la value du setItem ?
Si oui quelle syntaxe utilisée ?

merci d'avance pour vos réponses.
Modifié par webbricol (18 Jul 2013 - 14:43)
re,

j'ai finalement trouvé.

Il faut utiliser
	
var val = JSON.stringify(data);
window.localStorage.setItem(key, val);


pour stocker l'objet en gardant la structure (nom:"nom";email:"email";...) dans localstorage.

Ensuite pour récupérer l'objet et son contenu
	
value = JSON.parse(window.localStorage.getItem(key));


Pour finir, il suffit de récupérer les infos en faisant comme avec les tableaux : value.nom pour le nom, value.email pour le mail,....