Praktikum Internet-Werkzeuge: PrInt: Cookies und Formulare
VSIS: Arbeitsgruppe Verteilte Systeme und Informationssysteme prInt: Das Praktikum Internet-Werkzeuge  Praktikum Internet-Werkzeuge   Fachbereich
  Aufgaben  Dokus  Links   Universität Hamburg

 Cookies zum Speichern von Formularwerten

Neben dem ,,Ausspionieren'' von Benutzeraktionen kann man mit Cookies auch für den Benutzer hilfreiche Dinge bewerkstelligen: Eine solche Möglichkeit ist das Abspeichern von Formularwerten, um dem Benutzer wiederholte Eingabearbeit bei Rückkehr zur Seite abzunehmen. Es folgt ein funktionierendes Beispiel, dessen Code anschliessend erläutert wird.

Weitere Informationen zu Cookies findet Ihr auf unserer JavaScript-Seite und hier:

 Das Beispiel

In das folgende Formularfeld kann ein Text eingegeben werden, der dann bei Rückkehr zur Seite wieder erscheint. Probiert es einfach einmal aus! (Text eingeben und RETURN drücken.)

Name: 

 Der Code

Der folgende Code steckt hinter obigem Beispiel:

<html><head> <script type="text/javascript">   // <![CDATA[

  // Hier wird der Cookie gelesen und dem Formular zugewiesen   // Die Funktion wird nach Laden des Dokumentes (onLoad) aufgerufen.   function restore()  // Auslesen des Zustands aus Cookie   {     var name;

    if (document.cookie)     {       // Wert aus Cookie lesen       name  = document.cookie;       // Wert in das Formular einsetzen       if (name != "") document.Formular.Name.value  = unescape(name);     }   }     // Speichern des Namens im Cookie.   // Die Funktion wird beim Abschicken des Formulars   // mittels onSubmit() aufgerufen.   function persist()   {     var name;     var Verfallszeit;     var jetzt;

    // Wert aus dem Formular lesen, Sonder- und Leerzeichen kodieren.     name = escape(document.Formular.Name.value);       // Verfall berechnen: 1 Jahr     Verfallszeit = 1000*60*60*24*365;  // 1 Jahr in Millisekunden     jetzt = new Date();     Auszeit = new Date(jetzt.getTime() + Verfallszeit);

    // Werte _einzeln_ in cookie schreiben     document.cookie = name  +";expires=" + Auszeit.toGMTString() + ";";   // Wahr zurückgeben, sonst wird das Formular nicht abgeschickt.   return true;   }  // ]]>  </script> </head>

<body onload="restore()"> <form name="Formular"         action="/tools/forms.phtml"         method="post"         onsubmit="return persist()">

  Name:     <input type="text" size="40" name="Name">

</form> </body></html>


Autor: Harald Weinreich

Mi 12-16 Uhr Raum: B-201 und RZ Start: 05.04.2006
Eine Veranstaltung des Arbeitsbereichs Verteilte Systeme und Informationssysteme (VSIS)

Letzte Änderung : 19.04.2005 - 16:11
EMail: prInt06@vsis.informatik.uni-hamburg.de