Forum Doku Wiki Blog

Forumsarchiv 2004, Januar
window.setTimeout mit window.location.href ?!?!

archivierte Beiträge lesen

  1. (JAVASCRIPT) window.setTimeout mit window.location.href ?!?! von Ralf, 14. 01. 2004, 16:18

window.setTimeout mit window.location.href ?!?!

Der folgende Beitrag wurde am 14. 01. 2004, 16:18 Uhr von Ralf veröffentlicht.

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

window.setTimeout mit window.location.href ?!?!

Der folgende Beitrag wurde am 14. 01. 2004, 16:30 Uhr von Hannibal veröffentlicht.

»»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

window.setTimeout mit window.location.href ?!?!

Der folgende Beitrag wurde am 14. 01. 2004, 16:50 Uhr von wahsaga veröffentlicht.

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

window.setTimeout mit window.location.href ?!?!

Der folgende Beitrag wurde am 15. 01. 2004, 10:42 Uhr von Hannibal veröffentlicht.

> 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

window.setTimeout mit window.location.href ?!?!

Der folgende Beitrag wurde am 14. 01. 2004, 16:51 Uhr von Hubert veröffentlicht.

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,

window.setTimeout mit window.location.href ?!?!

Der folgende Beitrag wurde am 15. 01. 2004, 11:38 Uhr von Struppi veröffentlicht.

> 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.

© 1998-2013 SELFHTMLImpressumSoftware: Classic Forum 3.4