PRATIQUE CLIENTS WEB 
Sauver le contenu d'une zone de texte dans un cookie
 
En plaçant le contenu d'un champ dans le cookie au fur et à mesure du remplissage d'un formulaire, l'utilisateur est assuré de retrouver son texte en cas de manipulation erronnée. (19/04/2005)
  Forum

Réagissez dans les forums de JDN Développeurs

De nombreux utilisateurs se plaignent des formulaires, car il arrive fréquemment que le contenu entré dans une zone de texte (un commentaire d'article ou un e-mail, par exemple) soit perdu suite à une mauvaise manipulation, ou à une erreur serveur. Dans la plupart des cas, les utilisateurs ne souhaitent pas prendre le temps de réécrire leur texte, et abandonnent.

Une solution à ce problème a été développée par le développeur Carl-Christian Salvesen. Sa solution consiste à sauver dans un cookie le contenu de la zone de texte, au fur et à mesure de l'écriture. Si l'utilisateur devait quitter la page (par erreur serveur ou personnelle), le script charge le cookie au chargement de la page, et laisse l'utilisateur continuer son texte.

Le code
<script type="text/javascript">
function cookieSave(name, text) {
  document.cookie = name + "=" + escape(text);
  }

function cookieLoad(name) {
  var search = name + "=";
  if (document.cookie.length > 0) {
    offset = document.cookie.indexOf(search);
    if (offset != -1) {
      offset += search.length;
      end = document.cookie.indexOf(";", offset);
      if (end == -1) {
        end = document.cookie.length;
        }
      return unescape(document.cookie.substring(offset, end));
      }
    }
  }
</script>

<form id="editForm">
  <textarea id="editArea" onkeyup="cookieSave('editArea',this.value);"></textarea>
</form>

<script type="text/javascript">
  document.getElementById('editArea').value = cookieLoad('editArea');
</script>
 
Xavier Borderie, JDN Développeurs
 
 
Accueil | Haut de page