Supportnet Computer
Planet of Tech

Supportnet / Forum / Webseiten/HTML

Cookie





Frage

Hi Leuts Ich habe (wider einmal) eine Frage... Wie kriege ich das Ergebnis aus meinem Script in ein Cookie gespeichert??? Wie kann ich die Information wieder aufrufen??? Hier mein Script (Mein erster Versuch ... Ist noch nicht so professionell :-( ): [i]<html><head><title>Test</title> <script type="text/javascript"> function Name () { var Ret = (form.name.value) var Textknoten = document.createTextNode(Ret); document.getElementById("z2").replaceChild(Textknoten, document.getElementById("z2").firstChild); } </script></head> <body> <table border="1" bgcolor="#FFFFC0" width="30%"> <tr><td id="z1">Dein Name</td><td id="z2">keine Ahnung!</td></tr> </table> <meta http-equiv="cache-control" content="no-cache"> <p> </p> <form name="form" onsubmit="return(false)"> <font face="Arial Narrow">Dein Name</font>: <input type="text" name="name" value="" size="20"> <input type="button" name="button" value=" Übermitteln " onclick="Name ()"> <input type="reset" value="Reset" name="B1"></form> <body onload="MakeCookie ()"> </body></html>[/i] Schon im Voraus danke für alle Tipps und Hilfen ... vlg Pete

Antwort 1 von rfb

Cookies?
Sind ein sinnloses Unterfangen, da meist deaktiviert oder beschränkt!
wies geht? http://de.selfhtml.org/javascript/objekte/document.htm#cookie

Noch einmal ein paar Anmerkungen zur Seite:
ein 2ter body ist IMMER falsch - schmeiß ihn raus!
dein JavaScript lässt sich verkürzen auf:
<script type="text/javascript"> 
function Name () { 
var Ret = form.name.value;
document.getElementById("z2").firstChild.data=Ret; 
} 
</script>

Die Erstellung eines neuen (Text-)Knotens ist nur nötig, wenn vorher noch keiner vorhanden war.
Aussagekräftigere (und fantasievollere) Namen als
form
,
name
,
button
und
reset
solltest du auch für die entsprechenden Formular-Elemente vergeben, nicht nur du sondern auch der JavaScript-Interpreter könnte Probleme beim Unterscheiden haben.

Antwort 2 von rfb

Zitat:
<meta http-equiv="cache-control" content="no-cache">
steht bei dir im body - auch das ist ein böser Fehler, es gehört zwingend in den head-Bereich.

Zurück zu deinem Problem: Ich vermute du willst die Anrede der Seitenbesucher auf anderen Seiten wiederholen und daher den eingegebenen Namen speichern.
Das ließe sich über
location.search
, also die Übergabe von Parametern über Links wahrscheinlich zuverlässiger lösen - schau mal hier: http://de.selfhtml.org/javascript/objekte/location.htm#search

Antwort 3 von BraucheHilfe

Hi Leuts

Ich habe mir die Tipps bezüglich meines codes zu herzen genomen ...

Aber mit dem cookie bin ich nicht weiter gekommnen ...
Ich habe keine Ahnung was ich falsch mache ...

Mit dem eingegebenen Namen will ich folgendes machen:
Ich will das die Person mit dem Cookie an mit Hilfe eingegeben Namens an eine spezielle Seite weiterleiten ...
also zb. an http://.../CookieUsers/HansMustermann.htm

Aber ich komme nicht weiter habe es mit self html versucht aber bin am anschlag ... wie gesagt, mein erster versuch ...

vlg

Antwort 4 von rfb

also wenn ich angebe rfb soll rfb.htm geöffnet werden?

<html><head><meta http-equiv="cache-control" content="no-cache"> 
<title>Test</title> 
<script type="text/javascript"> 
function SetzeName () { 
var Ret =document.getElementById("deinname").value; 
document.getElementById("z2").firstChild.data=Ret; 
document.getElementById("deineSeite").href=Ret+".htm";
} 
</script></head> 
<body> 
<table border="1" bgcolor="#FFFFC0" width="30%"> 
<tr><td id="z1">Dein Name</td><td id="z2">keine Ahnung!</td></tr> 
</table> 
<p> </p> 
<form name="eingabe" onsubmit="javascript:SetzeName()"> 
<font face="Arial Narrow">Dein Name</font>: 
<input type="text" name="deinname" id="deinname" value="" size="20"> 
<input type="submit" value=" Übermitteln"> 
<input type="reset" value="Reset"></form> 
<a href="beliebigerUser.htm" id="deineSeite">Weiter</a>
</body></html>


hier wird einfach das Linkziel des Links bei weiter entsprechend geändert. Auch eine automatische Weiterleitung wäre möglich.
Zuverlässig ist das alles nicht, da JavaScript immer von Rechner- und Browsereinstellungendes Users abhängig ist (so wie Cookies auch).

Antwort 5 von BraucheHilfe

@ rfb
Vielen vielen Dank, das ist einfach genial, genau so habe ich mir das Vorgestellt ...
Werde es gleich einbauen ...

vlg
Pete