Cookies et JavaScript : sauvegarde de champs entre pages web
Milly7534
Messages postés
29
Statut
Membre
-
schweppes41 Messages postés 140 Statut Membre -
schweppes41 Messages postés 140 Statut Membre -
Bonjour,
J'ai actuellement un problème de programmation dû au fait que je ne m'y connais pas beaucoup en cookies...
J'ai deux pages où l'utilisateur remplit différents champs avant validation, les champs sont les mêmes mais le rendu est différent.
Actuellement, en passant d'une page à l'autre, l'utilisateur perd les champs qu'il a rempli, j'aimerais donc les conserver en n'utilisant que le javascript.
Dans le javascript, je récupère les données des champs dans un tableau, puis je crée un cookie qui va le stocker et après, c'est là que je coince.
Comment, lors du changement de page, tester que le cookie existe et si oui, remplacer les champs vides par les données sauvegardées ?
Voici un exemple de ce que j'ai jusque là :
Merci d'avance !
J'ai actuellement un problème de programmation dû au fait que je ne m'y connais pas beaucoup en cookies...
J'ai deux pages où l'utilisateur remplit différents champs avant validation, les champs sont les mêmes mais le rendu est différent.
Actuellement, en passant d'une page à l'autre, l'utilisateur perd les champs qu'il a rempli, j'aimerais donc les conserver en n'utilisant que le javascript.
Dans le javascript, je récupère les données des champs dans un tableau, puis je crée un cookie qui va le stocker et après, c'est là que je coince.
Comment, lors du changement de page, tester que le cookie existe et si oui, remplacer les champs vides par les données sauvegardées ?
Voici un exemple de ce que j'ai jusque là :
var champA = '-';
if (jQuery("#maDiv #idChamp").val() != ''){
champA = jQuery("#maDiv #idChamp").val();
}
var tab = [champA];
var json_str = JSON.stringify(tab);
createCookie('myCookie', json_str, 0);
Merci d'avance !
1 réponse
-
Bonjour,
En utilisant le plugin Jquery Cookie :
Plus d'info ici :
https://stackoverflow.com/questions/1458724/how-do-i-set-unset-a-cookie-with-jquery
ça devrait t'aider !-
-
Tu ne vas pas mettre à jour le cookie à chaque fois que l'utilisateur rentre un cookie.
à la fin du formulaire, tu fais une vérifications de tous les champs obligatoires et uniquement si c'est valide, tu mets à jour ton cookie puis tu passes à ton suivant formulaire.
Sur l'url que j'ai donné dans ma réponse précédente, tu as des exemples avec et sans jQuery de manipulations de cookie. -
D'accord, merci !
J'ai un autre problème cependant et qui est aléatoire : les champs textes ne sont pas pré-remplis, quand le cookie existe, quand je passe de la page A à la page B alors que l'inverse fonctionne...
J'utilise ceci pour changer les champs :jQuery("#maDiv #idChamp").val(monTableauJs[element]);
Un console.log de cette ligne me dit pourtant que la valeur a bien été récupérée... -
-
C'est bien ce que je fais ci-dessous et si je trace ce que contiennent les "jQuery", c'est bien les champs extraits du cookie. Je ne comprends pas pourquoi il n'y rien "visuellement".
//Si le cookie existe
if (document.cookie.indexOf('myCookie') != -1) {
//On le recupere
var json_str = getCookie('myCookie');
var arr = JSON.parse(json_str);
//Remplacement des champs
jQuery("#maDiv #idChamp1").val(arr[0]);
jQuery("#maDiv #idChamp2").val(arr[1]);
jQuery("#maDiv #idChamp3").val(arr[2]);
}
-