michael: Confirmfenster automatisch schließen

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

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

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

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

      1. abend,

        danke, dass hat geholfen ;)

        mfg
        JoeM.