WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   js- settimeout (http://www.wcm.at/forum/showthread.php?t=22682)

RaistlinMajere 01.06.2001 21:47

js- settimeout
 
auf die gefahr hin, bei einer solch simplen sache ziemlich komisch dazustehen, aber ich weiß echt nicht, warum das folgende nicht funktioniert.

<script language="JavaScript">
<!--
function closewin() {
setTimeout("alert('hallo')",1000);
}
//-->
</script>

der alert ist natürlich rein testhalber, in der praxis rufe ich da schon eine funktion auf. ;-)

fran 02.06.2001 13:36

hallo,
ob es so funktioniert, hängt davon ab, welche Befehle du mittels setTimeout ausführen möchtest.

Dein Beispiel funktioniert etwa wenn:

<html>
<head>
<title>test</title>
</head>
<body onload="closewin()">
<script language="JavaScript">
<!--
function closewin() {
setTimeout("alert('hallo')",1000);
}
//-->
</script>
</body>
</html>

Wenn du aber beispielsweise eine Variable innerhalb der Funktion deklarierst - wirst du eine Fehlermeldung erhalten, da die lokale Variable dann, wenn der Befehl ausgeführt werden soll, nicht mehr gültig ist:

<html>
<head>
<title>test</title>
</head>
<body onload="closewin()">
<script language="JavaScript">
<!--
function closewin() {
var schliessen = "hallo"
setTimeout("alert(schliessen)",1000);
}
//-->
</script>
</body>
</html>

<html>
<head>

Abhilfe: du stellst die Variable außerhalb der Funktion global zur Verfügung - dann funktioniert es:
<title>test</title>
</head>
<body onload="closewin()">
<script language="JavaScript">
<!--
var schliessen = "hallo"
function closewin() {

setTimeout("alert(schliessen)",1000);
}
//-->
</script>
</body>
</html>


Ich hoffe, dir damit geholfen zu haben.

grüße fran

RaistlinMajere 04.06.2001 12:15

danke, aber...
 
leider hat das auch nichts gebracht, habe jetzt anstatt einer variable eine funktion verwendet, funzt leider trotzdem nicht.

<script language="JavaScript">
<!--
function meldung() {
alert("hallo");
}

function closewin() {
setTimeout("meldung()",1000);
}
//-->
</script>

ich check das einfach ned. :-/

fran 04.06.2001 13:25

wieso - es funktioniert doch! - wenn du z.b. in diesem fall die funktion closewin() im body aufrufst.<body onload="closewin()">

ebenso klappt es mittels link:
<a href=javascript:closewin()>closewin</a>

RaistlinMajere 04.06.2001 15:35

funny
 
denn wenn ich den aufruf der funktion so mache:

fenster schließen

funzt es tatsächlich, nur innerhalb eines formulars, so wie ich es brauche, geht es weder mit:

<input type="submit" name="noway" value="bestellung verwerfen">

noch mit:

<input type="submit" name="noway" value="bestellung verwerfen" onclick="closewin()">

weißt du vielleicht, wie ich das mit dem input-button lösen kann?

RaistlinMajere 04.06.2001 16:18

keiner fortschritt
 
ich weiß jetzt, daß ich mit der zeile

<a onclick="closewin()"><input type="SUBMIT" name="noway" value="bestellung verwerfen"></a>

einiges erreichen kann. so, wie sie jetzt dasteht, kann von php die variable $noway ausgelesen werden, allerdings wird dabei der funktionsaufruf per onclick() ignoriert.

wenn ich allerdings das schreibe:

<a onclick="closewin()"><input type="BUTTON" name="noway" value="bestellung verwerfen"></a>

sieht das genauso aus, jedoch wird nur der funktionsaufruf getätigt, während aufgrund von mangelndem submit php natürlich keine variable $noway bekommt.

icj bräuchte leider beides.

fran 05.06.2001 06:59

du kannst es auch noch mit onsubmit versuchen:

<input type="submit" value="Bestellung verwerfen" onsubmit="closewin()">

das verwendet man üblicherweise, um das formular zu versenden und dabei die eingaben zu überprüfen; aber es geht genauso umgekehrt - du prüfst eben hier genau die eingaben, damit es NICHT gesendet wird - deswegen trotzdem "submit" und nicht "button".

grüße fran

RaistlinMajere 05.06.2001 10:27

liest sich gut
 
ich denke das dürfte die lösung für mein problem sein, werde es sobald es geht austesten, vielen dank. :-)


Alle Zeitangaben in WEZ +2. Es ist jetzt 14:35 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag