Wert eines Cookies in einem Eingabefeld ausgeben
rsc
- javascript
0 Cheatah
Hallo,
ich will:
a) die Eingabe eines Textes in einem Eingabefeld mittels JavaScript in einem Cookie speichern.
b) den Wert des Cookies (sofern vorhanden) in einem Eingabefeld ausgeben
Mein Quellcode:
---- Schnipp ----
<script language="javascript" type="text/javascript">
function getexpirydate(nodays){
var UTCstring;
Today = new Date();
nomilli=Date.parse(Today);
Today.setTime(nomilli+nodays*24*60*60*1000*26);
UTCstring = Today.toUTCString();
return UTCstring;
}
function setcookie(name,value,duration){
cookiestring=name+"="+escape(value)+";EXPIRES="+getexpirydate(duration);
document.cookie=cookiestring;
}
function getcookie(cookiename) {
var cookiestring=""+document.cookie;
var index1=cookiestring.indexOf(cookiename);
if (index1==-1 || cookiename=="") return "";
var index2=cookiestring.indexOf(';',index1);
if (index2==-1) index2=cookiestring.length;
return unescape(cookiestring.substring(index1+cookiename.length+1,index2));
}
</script>
<FORM name="login" METHOD="GET" action="test2.htm" onsubmit="setcookie('visitorname',document.forms[0].myname.value,2);">
<script language="javascript">if(getcookie("visitorname")){
document.write("Welcome "+getcookie("visitorname"));
document.login.myname.value=getcookie("visitorname");
};</script>
name: <INPUT TYPE="text" name="myname" size="20">
<INPUT TYPE="submit" NAME="submit1" VALUE="Set Cookie" onlick="setcookie('visitorname',document.forms[0].myname.value,2);">
</FORM>
---- Schnapp ----
Speichern des Cookies geht (ich seh den ausgegebenen Wert von document.write), aber in das Textfeld wird mir nichts geschrieben, stattdessen, sagt der IE: "'document.login.myname' is null or not an object"
Wie beheb ich das - der Cookie-Wert soll im Textfeld stehen...
Vielen Dank schonmal,
Robert
Hi,
<script language="javascript" type="text/javascript">
hier ist es richtig,
<script language="javascript">
hier nicht. Den JavaScript-Code zu checken spare ich mir.
Speichern des Cookies geht (ich seh den ausgegebenen Wert von document.write), aber in das Textfeld wird mir nichts geschrieben, stattdessen, sagt der IE: "'document.login.myname' is null or not an object"
Richtig. Überleg Dir mal, wie der Browser mit der JavaScript-Ausführung vorgeht, und warum in dem Moment das Eingabefeld noch nicht existiert.
Cheatah