Confirmfenster automatisch schließen
michael
- programmiertechnik
0 Joe M.0 michael0 Sven Rautenberg0 JoeM
Hallo zusammen,
Problem, ich habe ein form das nach erfolgreicher verarbeitung ein bestätigungsfenster aufmacht, jetzt möchte ich dieses gerne zeitgesteuert schließen lassen (5 sec.) oder so.
Kann mir jemand helfen, oder sagen wo ich das finden kann??
Danke Michael
Hallo zusammen,
Problem, ich habe ein form das nach erfolgreicher verarbeitung ein bestätigungsfenster aufmacht, jetzt möchte ich dieses gerne zeitgesteuert schließen lassen (5 sec.) oder so.
Kann mir jemand helfen, oder sagen wo ich das finden kann??Danke Michael
abend,
einfach mit setTimeout() den confirm-dialog starten und bei
dessen start wiederum ein setTimeout(), was dein fenster wieder
schließt..
Hallo zusammen,
Problem, ich habe ein form das nach erfolgreicher verarbeitung ein bestätigungsfenster aufmacht, jetzt möchte ich dieses gerne zeitgesteuert schließen lassen (5 sec.) oder so.
Kann mir jemand helfen, oder sagen wo ich das finden kann??Danke Michael
abend,
einfach mit setTimeout() den confirm-dialog starten und bei
dessen start wiederum ein setTimeout(), was dein fenster wieder
schließt.., jupp, Danke
Moin!
abend,
einfach mit setTimeout() den confirm-dialog starten und bei
dessen start wiederum ein setTimeout(), was dein fenster wieder
schließt..
Ich bezweifle, dass das funktioniert.
Es läuft nur ein Javascript-Programm zur Zeit. Wenn Javascript also alert() oder confirm() befohlen bekommt, dann wird ein entsprechendes Fenster geöffnet, und Javascript stoppt den weiteren Skriptablauf, und es geht erst weiter, wenn der Benutzer manuell reagiert hat.
Einfach mal selber probieren:
<script type="text/javascript">
// Zeitverzögerte Aktion
setTimeout('alert("Zeit ist um");',1000);
confirm('Wollen Sie eine Sekunde abwarten?');
</script>
Das Skript wird, wenn man den confirm-Dialog schnell genug (weniger als 1 Sekunde Zeit) wegklickt, exakt nach 1 Sekunde den Alert ausgeben.
Wenn man mehr als eine Sekunde wartete, wird der alert erst dann erscheinen (allerdings ohne Wartezeit sofort), wenn man den confirm-Dialog weggeklickt hat.
Aber es wird noch besser:
<script type="text/javascript">
// Zeitverzögerte Aktion
setTimeout('alert("Zeit ist um");',1000);
confirm('Wollen Sie eine Sekunde abwarten?');
for (i=1; i=1000000; i++)
{
//hier irgendwas aufwendiges tun
}
alert ('Arbeit getan');
</script>
Jetzt wird, nachdem der confirm-Dialog geschlossen wurde, auch dann, wenn man schon mehr als eine Sekunde gewartet hat, _erst_ die aufwendige Berechnung abgearbeitet (hier als Leerschleife bis eine Million zählen), _dann_ wird der Alert "Arbeit getan" angezeigt, und erst dann der Alert aus dem Timeout.
Mit anderen Worten: Es ist absolut unmöglich, einen alert(), confirm() oder prompt()-Dialog mit Javascript-Mitteln abzubrechen, weil immer nur eine Javascript-Anweisung zur Zeit aktiv sein kann. Um einen Hauch von "Multitasking" zu haben, also dass sofort auf gewisse Dinge reagiert wird, und mehrere Sachen praktisch gleichzeitig ablaufen, muß man _immer_ mit setTimeout und Eventhandlern arbeiten und die zu erledigenden Aufgaben so effizient und kurz wie möglich abarbeiten.
- Sven Rautenberg
abend,
danke, dass hat geholfen ;)
mfg
JoeM.