WCM - Das österreichische Computer Magazin Forenübersicht
 

Zurück   WCM Forum > Rat & Tat > Programmierung

Programmierung Rat & Tat für Programmierer

Microsoft KARRIERECAMPUS

Antwort
 
Themen-Optionen Ansicht
Alt 01.06.2001, 21:47   #1
RaistlinMajere
Inventar
 
Registriert seit: 06.04.2001
Alter: 44
Beiträge: 2.343


Standard 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. ;-)
____________________________________
"Life is like a box of rockets," said the Marine. "You never know what you´re gonna ret."
Then he pulled the trigger of his BFG9000.
RaistlinMajere ist offline   Mit Zitat antworten
Alt 02.06.2001, 13:36   #2
fran
Senior Member
 
Registriert seit: 06.02.2000
Beiträge: 174


Standard

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
____________________________________
-- eof --
fran ist offline   Mit Zitat antworten
Alt 04.06.2001, 12:15   #3
RaistlinMajere
Inventar
 
Registriert seit: 06.04.2001
Alter: 44
Beiträge: 2.343


Standard 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. :-/
____________________________________
"Life is like a box of rockets," said the Marine. "You never know what you´re gonna ret."
Then he pulled the trigger of his BFG9000.
RaistlinMajere ist offline   Mit Zitat antworten
Alt 04.06.2001, 13:25   #4
fran
Senior Member
 
Registriert seit: 06.02.2000
Beiträge: 174


Standard

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>
____________________________________
-- eof --
fran ist offline   Mit Zitat antworten
Alt 04.06.2001, 15:35   #5
RaistlinMajere
Inventar
 
Registriert seit: 06.04.2001
Alter: 44
Beiträge: 2.343


Standard 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?
____________________________________
"Life is like a box of rockets," said the Marine. "You never know what you´re gonna ret."
Then he pulled the trigger of his BFG9000.
RaistlinMajere ist offline   Mit Zitat antworten
Alt 04.06.2001, 16:18   #6
RaistlinMajere
Inventar
 
Registriert seit: 06.04.2001
Alter: 44
Beiträge: 2.343


Standard 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.
____________________________________
"Life is like a box of rockets," said the Marine. "You never know what you´re gonna ret."
Then he pulled the trigger of his BFG9000.
RaistlinMajere ist offline   Mit Zitat antworten
Alt 05.06.2001, 06:59   #7
fran
Senior Member
 
Registriert seit: 06.02.2000
Beiträge: 174


Standard

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
____________________________________
-- eof --
fran ist offline   Mit Zitat antworten
Alt 05.06.2001, 10:27   #8
RaistlinMajere
Inventar
 
Registriert seit: 06.04.2001
Alter: 44
Beiträge: 2.343


Standard liest sich gut

ich denke das dürfte die lösung für mein problem sein, werde es sobald es geht austesten, vielen dank.
____________________________________
"Life is like a box of rockets," said the Marine. "You never know what you´re gonna ret."
Then he pulled the trigger of his BFG9000.
RaistlinMajere ist offline   Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 22:28 Uhr.


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