Formulardaten abspeichern ohne Klick auf Absenden

Siegfried_D

Angesehenes Mitglied
Hallo Leute,
hab mal wieder ne (für mich schwierige) Frage:

Ich habe einen Warenkorb programmiert, das funktioniert auch alles soweit.

Nun kommt der Kunde vom Warenkorb auf die Seite Kundendaten. Dort soll er seinen Namen und die weiteren Daten eingeben.

Soweit so gut.

wenn der Kunde nun alles eingegeben hat, aber auf einen Link in der Seite klickt um sich weiter umzusehen, ohne den Abschicken Button zu klicken, dann muss er die Adressdaten später nochmals eingeben.

Es gibt doch da ne Möglichkeit die Daten schon während der Eingabe im Formular in einem Cookie abzuspeichern, oder?

Ich glaub das ging mit AJAX, kann mir jemand weiterhelfen?

Danke und Gruß

Siegfried
 
Es gibt beim body-Element ein onload und ein onunload-Ereignis.

Die erste Funktion liest die Daten aus dem Cookie aus, die zweite schreibt sie in ein Cookie.

onkeyup / onchange dürfte viel zu häufig sein.

Habs nicht getestet, sehe aber keinen Grund, weshalb das nicht funktionieren sollte.

Theoretisch könnte man im onunload die Daten auch mit Ajax speichern. Aber so eine lokale Lösung reicht völlig.
 
Vielean Dank Ihr Beiden,
mit dem onunload dürfte ich richtig liegen, habe da aber noch das Problem, wie ich die Cookies schreibe (nehme ja die Daten aus dem Formularfeld, ist es so richtig?

<script type="text/javascript">
var name = document.Formular.name.value;
var firma= document.Formular.firma.value;
var str_nr= document.Formular.str_nr.value;
var plz_ort= document.Formular.plz_ort.value;
var email= document.Formular.email.value;
var telefon= document.Formular.telefon.value;

function kundendaten () {
setcookie("name_seitenname", var name);
setcookie("firma_seitenname", var firma);
setcookie("str_nr_seitenname", var str_nr);
setcookie("plz_ort_seitenname", var plz_ort);
setcookie("email_seitenname", var email)
setcookie("telefon_seitenname", var telefon)


}

<body onunload="kundendaten()">

Und dann die Daten einfach beim nächsten Aufruf aus dem Cookie auslesen?

Hab ich noch nen Fehler drin?

Danke und Gruß

Siegfried
 
setcookie() ist PHP. In JS ist document.cookie dafür zuständig. Ich würde alle Werte in ein einzelnes Cookie schreiben und die Sonderzeichen mit escape() codieren (beim Auslesen mit unescape() wieder decodieren):

document.cookie = "form=" + escape(var name) + "|" + escape(var firma) + "|" + ... + "; path=Verzeichnis_in_dem_das_Cookie_verfügbar_sein_soll;"
 
Huhu,


var name = document.Formular.name.value;

etc. solltest Du dann aber auch in die Function kundendaten() nehmen, sonst stehen die Daten nur vom Laden der Seite in den Variablen, also nix.
 
Zurück
Oben