Stocker un textarea dans un cookie

Résolu/Fermé
Utilisateur anonyme - Modifié par pyrogoto le 1/07/2010 à 20:16
 Utilisateur anonyme - 2 juil. 2010 à 14:14
Bonjour a tous,

je viens vers vous pour un petit soucis de cookie

dans mes pages de formulaire
je met en place un systeme qui cree un cookie pour retenir le contenu des champs en cas de refresh de la page

sa fonctionne très bien pour touts les champ ...
SAUF, pour les textarea

le cookie n'enregistre QUE la premiere ligne du textarea et ignore la suite.

c'est probalement du aux sauts de lignes
mais je ne sait pas comment regler ce probleme

j'ai tenté de convertir les caracteres de saut de ligne, sans succes

voila le code en resumé :



<script>
function javacookie (nom, valeur)
{
document.cookie = nom+"="+valeur;
}
</script>


<input type="text" name="titre" onblur="javascript:javacookie('title', this.value);" />
<textarea name="message" value="" onkeyup="javascript:javacookie('msg', this.value);" > </textarea>



...
avez vous une idée de comment enregistrer la totalité du contenu du textarea sans probleme ???

merci d'avance

2 réponses

avion-f16 Messages postés 19246 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 4 498
1 juil. 2010 à 23:08
Salut.

Essaye en remplaçant les retours à la ligne (caractère "\n") par un quelque-chose d'autre, comme "<br/>".

Quand tu auras récupéré la valeur du cookie, il suffira de faire l'opération inverse et d'écrire le résultat dans le textarea.
1
Utilisateur anonyme
2 juil. 2010 à 12:49
merci

grace a toi j'ai avancé un peu
maintenant :

mon cookie javascript se cree bien avec toute les lignes et les \n convertis en [br].
au refresh
la fonction php recupere correctement le cookie
et remplace [br] par "\n"
ce qui fonctionne

MAIS

si il y a un 2eme refresh a la suite
tout le contenu disparait ...
meme si j'ai reedité

bizarre
0
Utilisateur anonyme
2 juil. 2010 à 12:53
precision

mon javascript actuel :

function javacookie (nom, valeur)
{
valeur = valeur.replace(/(\r\n|\n|\r)/g, '[br]');
document.cookie = nom+"="+valeur;
}


et le php :

$cook = str_replace('[br]', "\n", $COOKIE['texte']);
0
Utilisateur anonyme
2 juil. 2010 à 14:14
EDIT : RESOLU

j'ai deplacé un script de creation de cookie
en fin de page au lieu du debut de page
et depuis
tout va bien

enfin
cela fait encore beaucoup de complication
juste pour pouvoir actualiser un formulaire sans perdre les données saisies


en tous cas
encore une fois merci avion
0