Hallo, Michael,
ich hab mal den Separator ausgetauscht und sicherheitshalber (für alte Browser) die Reihenfolge der Funktionen geändert. Zuerst hat es nicht geklappt, weil noch die alten Cookies gespeichert waren. Nach dem Löschen scheint es zu funktionieren. Aber teste mal besser selber ...
Grüße, Sebastian
---------- schnipp ----------
<html>
<head>
<title>Daten speichern</title>
<script language="JavaScript" type="text/javascript">
<!--
var d = document;
var AnzTage = 365;
var Elemente = 'Text-1|Text-2';
var CookieName = 'FormularInhalt';
function getCookieVal(offset)
{
var endstr = d.cookie.indexOf ("|", offset);
if (endstr == -1)
endstr = d.cookie.length;
return unescape(d.cookie.substring(offset, endstr));
}
function FixCookieDate(date)
{
var base = new Date(0);
var skew = base.getTime(); // dawn of (Unix) time - should be 0
if (skew > 0) // Except on the Mac - ahead of its time
date.setTime (date.getTime() - skew);
}
function GetCookie(name)
{
var arg = name + "=";
var alen = arg.length;
var clen = d.cookie.length;
var i = 0;
while (i < clen) {
var j = i + alen;
if (d.cookie.substring(i, j) == arg)
return getCookieVal (j);
i = d.cookie.indexOf(" ", i) + 1;
if (i == 0) break;
}
return null;
}
function SetCookie(name,value,expires,path,domain,secure)
{
d.cookie = name + "=" + escape (value) +
((expires) ? "; expires=" + expires.toGMTString() : "") +
((path) ? "; path=" + path : "") +
((domain) ? "; domain=" + domain : "") +
((secure) ? "; secure" : "");
}
function DeleteCookie(name,path,domain)
{
if (GetCookie(name))
{
d.cookie = name + "=" +
((path) ? "; path=" + path : "") +
((domain) ? "; domain=" + domain : "") +
"; expires=Thu, 01-Jan-70 00:00:01 GMT";
}
}
function Speichern()
{
var spElem = Elemente.split('|');
var SpeicherWert = '';
for(var i=0;i<spElem.length;i++)
SpeicherWert += d.formular[spElem[i]].value + '|';
SpeicherWert = SpeicherWert.substring(0, SpeicherWert.length-1);
alert ('Daten erfolgreich gespeichert!');
var expdate = new Date();
FixCookieDate (expdate);
expdate.setTime (expdate.getTime() + (AnzTage * 24 * 60 * 60 * 1000));
SetCookie (CookieName,SpeicherWert,expdate);
}
function Laden()
{
if (GetCookie(CookieName))
{
var laElem = GetCookie(CookieName).split('|');
var spElem = Elemente.split('|');
for(var i=0;i<laElem.length;i++)
if (laElem[i])
d.formular[spElem[i]].value = laElem[i];
}
}
function Loeschen()
{
var Elem = Elemente.split('|');
for (var i=0; i < Elem.length; i++)
d.formular[Elem[i]].value = '';
}
//-->
</script>
</HEAD>
<body>
<form name="formular">
Text-1 <input type="text" name="Text-1" size="40" maxlength="40">
Text-2 <input type="text" name="Text-2" size="40" maxlength="40">
</form>
<a href="#" onClick="Speichern();return false;">Daten speichern</a>
<br>
<a href="#" onClick="Laden();return false;">Daten laden</a>
<br>
<a href="#" onClick="Loeschen();return false;">Formularfelder löschen</a>
</body>
</html>