Stocker un textarea dans un cookie

Résolu
Utilisateur anonyme -  
 Utilisateur anonyme -
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

  1. avion-f16 Messages postés 19182 Date d'inscription   Statut Contributeur Dernière intervention   4 511
     
    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
  2. Utilisateur anonyme
     
    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
    1. Utilisateur anonyme
       
      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
    2. Utilisateur anonyme
       
      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