window.setTimeout mit window.location.href ?!?!
Ralf
- javascript
Hallo,
mir ist das richtig peinlich, dass ich an so einer Funktion scheitern muss aber irgendwie ist es mir ein Phänomen:
<script language="JavaScript" type="text/javascript">
<!--
function moveForward(address, time) {
window.setTimeout("window.location.href = address", time);
}
//-->
</script>
<title>PHP - Calendar: Insert Date</title>
</head>
<body>
<input type="button" onClick="moveForward('http://www.thecorp.de', '3000')" value="Forward">
Wieso spuckt mir das Script hier aus "address is undefined." ?
Wenn ich unmittelbar vor dem setTimout den Funktionsaufruf
alert(address);
mache gibt mir das Script doch auch "http://www.thecorp.de" aus...
Wäre nett wenn mir jemand mit nem Hammer auf den Hinterkopf schlägt. Ist ja sowas von peinlich ...
MFG Ralf
»»Hallo,
mir ist das richtig peinlich, dass ich an so einer Funktion scheitern muss aber irgendwie ist es mir ein Phänomen:
Hatte ich auch schon paar mal.
<input type="button" onClick="moveForward('http://www.thecorp.de', '3000')" value="Forward">
Verweise auf funktionen in JavaScript mit: javascript:funktion
Bei dir also:
onClick="javascript:moveForward('http://www.thecorp.de', '3000')"
Vielleicht war das das Problem.
MFG Ralf
Gruss hannibal
hi,
Verweise auf funktionen in JavaScript mit: javascript:funktion
onClick="javascript:moveForward('http://www.thecorp.de', '3000')"
ganz grosser bullshit.
wo hast du das denn her?
das label javascript: hat in eventhandlern nichts verloren, kann sogar u.u. zu fehlern führen.
gruss,
wahsaga
hi,
hallo auch
Verweise auf funktionen in JavaScript mit: javascript:funktion
onClick="javascript:moveForward('http://www.thecorp.de', '3000')"
ganz grosser bullshit.
Jetzt hab ichs auch bemerkt. Ich habe da was verwechselt.
Ich dachte es wäre in <a href="">
I'm sorry.
gruss,
wahsaga
Gruss Hannibal
Nabend,
Verweise auf funktionen in JavaScript mit: javascript:funktion
Bei dir also:
onClick="javascript:moveForward('http://www.thecorp.de', '3000')"
Nein, das ist es nicht. Zudem ist dieser Vorschlag nicht schön. javascript: ist völlig sinnfrei. Das onclick-Event ist für JS-Funktionen geschaffen; es bedarf also keinerlei Pseudoprotokolle vor einem Funktionsaufruf (nein, auch in href hat javascript: nichts verloren, ebensoviel wie ein Funktionsaufruf).
Das Problem liegt eher bei der Übergabe von adresse. Lies noch einmal in SelfHTML nach: http://selfhtml.teamone.de/javascript/objekte/window.htm#set_timeout
Bis denne,
mir ist das richtig peinlich, dass ich an so einer Funktion scheitern muss aber irgendwie ist es mir ein Phänomen:
<script language="JavaScript" type="text/javascript">
<!--function moveForward(address, time) {
window.setTimeout("window.location.href = address", time);
}//-->
</script>
<title>PHP - Calendar: Insert Date</title>
</head>
<body><input type="button" onClick="moveForward('http://www.thecorp.de', '3000')" value="Forward">
Wieso spuckt mir das Script hier aus "address is undefined." ?
Wenn ich unmittelbar vor dem setTimout den Funktionsaufruf
alert(address);
mache gibt mir das Script doch auch "http://www.thecorp.de" aus...
Guter Ansatz, wenn du noch überprüft hättest was du der Funktion setTimeout übergibst wärst du der Lösung nah gewesen:
alert("window.location.href = address");
address ist aber nur eine lokale Variabel die nur deiner Funktion bekannt ist, da setTimeout aber erst nach 3 Sekunden startet ist deine Funktion mit grossser Wahrscheinlichkeit beendet und damit address nirgendwo mehr definiert.
Du willst den Wert von address zuweisen, dazu musst du ein wenig basteln, da der Wert ein String ist, muss er auch in Anführungszeichen stehen:
window.setTimeout( 'window.location.href = "' + address + '"', time);
Struppi.