Cookies und gefangen in einer Endlosschleife ...
Holger Lersch
- javascript
Hallo Forum,
von folgendem JS Code ...
function getCookie(name) {
var allCookies = document.cookie;
CookieArray = allCookies.split(";");
var gesucht='';
for (i=0;i<CookieArray.length;i++){
if (CookieArray[i].indexOf("=") != -1) {
oneValue = CookieArray[i].split("=");
if (oneValue[0] == name) {
gesucht = oneValue[1];
}
}
}
return gesucht;
}
function fillForm(fieldscsv){
fields = fieldscsv.split(",");
for (k=0;k<fields.length;k++) {
alert(getCookie(fields[i]));
}
}
aufgerufen mit fillForm('NAME','VORNAME','TELEFON');
versprach ich mir eigentlich, dass der "Keks" ausgelesen wird und die gesetzten Formularfeldinhalte im Cookie zurückgegeben, und später dann ins Formular geschrieben, werden.
Leider hängt sich dieses Scriptchen immer in einer Endlosschleife auf. Was mag ich wohl übersehen haben?
Vielen Dank schonmal für Eure Hilfe!
Grüße
Holger
n'Nacht.
Leider hängt sich dieses Scriptchen immer in einer Endlosschleife auf. Was mag ich wohl übersehen haben?
Also,
fields = fieldscsv.split(",");
tut nicht das, von dem du willst, das es es tut, wenn der Funktionsaufruf so
fillForm('NAME','VORNAME','TELEFON');
erfolgt, die Zeichenkette "NAME" enthält zum Einen gar keine Kommas
und die anderen beiden übergebenen Zeichenketten "VORNAME" und
"TELEFON" verschwinden zudem im Daten-Nirvana und können sich bis in
alle Ewigkeit bei Saufgelagen mit toten Wikingern nochmals übergeben.
Aufrufen solltest du deine Funktion mit
fillForm('NAME,VORNAME,TELEFON');
dann wird nur ein Parameter übergeben und der enthält sogar Kommas.
Ja, und ich glaube das fields[i] in
alert(getCookie(fields[i]));
war eigentlich als fields[k] geplant.
Gruß
Norbert
n'Nacht.
[...]
Gruß
Norbert
Hallo Norbert!
Danke, dass Du mir die Augen geöffnet hast ;-). Das war aber jetzt ein klassischer Anfängerfehler, Herr Lersch!
Ich glaub ich geh gleich wieder ins Bett ...
Danke & Gruß & alles Gute in 2003
Holger