GET-Vars in Cookies setzen und auslesen

Quests Sohn

Mitglied
Hallo Forum,

ich habe ein Problem mit meinem Skript. An sich ist
es gar nicht so kompliziert, aber irgendwie sehe ich den
Fehler nicht.

Aufgabe wäre das Auslesen des Querystrings und das
Setzen von zwei Cookies (für die Referer-ID und das Keyword).
Anschließend sollen die gesetzten Cookies in einem Formular
ausgelesen und dort als Hidden Fields eingesetzt werden:

Code:
<script language="JavaScript">
function cookieSetzen() {
	var query = window.location.search.substring(1); 
	var vars = query.split("&"); 
	for (var i=0;i<vars.length;i++) { 
		var pair = vars[i].split("="); 
		if (pair[0] == 'ref') { 
			refCookie="cref=" + pair[1]; 
			document.cookie=refCookie; 
		} else { 
			if (pair[0] == 'key') { 
				keyCookie="ckey=" + pair[1]; 
				document.cookie=keyCookie; 
			} 
		} 
	} 
} 
function cookieLesen(variable) { 
	var i=0; 
	var suche = variable+"=";
	while (i<document.cookie.length){
		if (document.cookie.substring(i, i+suche.length)==suche) { 
			var ende = document.cookie.indexOf(";", i+suche.length); 
			ende = (ende>-1) ? ende : document.cookie.length; 
			var cook = document.cookie.substring(i+suche.length, ende); 
			return unescape(cook);
		}
		i++; 
	}
	return null; 
} 
</script>

<form action="test.html" method="get">
<script language="JavaScript">
var referer = cookieLesen("cref"); 
var keyword = cookieLesen("ckey"); 
document.write("<input type=hidden name=referer value="+referer+">");
document.write("<input type=hidden name=keyword value="+keyword+">");
</script>
<input type="submit" name="submit">
</form>

Also was mache ich falsch, ich komme nicht drauf?
Kann mir jemand helfen?


DANKE!
 
Bei Dir funktioniert es? Also das ist ja wirklich seltsam.


Wenn ich beispielseise den folgenden Link zu meiner Seite anklicke:
Code:
www.meineseite.de/test.php?key=javascript&ref=tutorials

dann werden bei mir weder Cookies gesetzt (das kann ich doch in den
Einstellungen des Browsers nachgucken), noch werden diese dann in
die Hidden Fields im Suchformular übertragen.

Wenn ich das Suchformular dann nämlich abschicke, wird bei mir
folgendes in der Adresszeile angezeigt:
Code:
http://www.meineseite.de/test.php?referer=null&keyword=null&submit=Suche%20abschicken

Die vorher per Link übermittelten Werte bzw. die Cookies fehlen also ...
Kann das am Browser/Betriebssystem liegen? Ich denke eher nicht.
 
Hi,

also bei mir funktioniert es auch.

Rufst Du die Funktion cookieSetzen irgendwann auf? Ist aus Deinen Codefragmenten nämlich nicht ersichtlich.

Ciao
Quaese
 
WAHNSINN PEINLICH PEINLICH!!

Ich hatte in der Tat vergessen, ein einfaches

onLoad="cookieSetzen()"

in den Body-Tag einzubauen ... sowas Blödes.


DANKE
 
Das wird zu spät sein, befürchte ich....onload feuert erst, wenn die Seite fertiggeladen ist...zu dem Zeitpunkt sind die Formularfelder schon ins Dokument geschrieben.

Wozu eigentlich Javascript.... da du PHP verfügbar zu haben scheinst, kannst du es doch damit machen?
 

Neue Beiträge

Zurück