Chris: Immer wieder ausführen

Hi,
Ich will eine Funktion nach drücken des Start Buttons automatisch immer wieder aufrufen lassen, bis der Stop Button gedrückt wird.

Der Code Teil schaut im Moment so aus:

y.addEventListener('click', function(evt) {  window.setInterval("document.getElementById('galaxy_form').submit();", DELAY);
   }, true);

Jedoch wird dieser nur einmal ausgeführt und dann stopt er. Was muss ich ändern, dass er solange ausführt, bis der Stop-Button gedrückt wird?

Schon einmal Danke für eure Hilfe!
Gruß Chris

  1. hi,

    Ich will eine Funktion nach drücken des Start Buttons automatisch immer wieder aufrufen lassen, bis der Stop Button gedrückt wird.

    Der Code Teil schaut im Moment so aus:

    y.addEventListener('click', function(evt) {  window.setInterval("document.getElementById('galaxy_form').submit();", DELAY);
       }, true);

    Jedoch wird dieser nur einmal ausgeführt und dann stopt er.

    Was passiert denn beim Abschicken dieses Formulars?
    Wenn dieses das selbe Fenster als Zielfenster hat, dann wird ja vermutlich das aktuelle Dokument durch die Antwort auf das Verschicken des Formulars überschrieben, und damit ist auch dein Intervall futsch.

    Was muss ich ändern, dass er solange ausführt, bis der Stop-Button gedrückt wird?

    Beschreibe bitte erst mal, was du eigentlich _erreichen_ willst.
    Ein Formular periodisch immer wieder abzuschicken, dazu kann ich mir nur begrenzt sinnvolle Anwendungsfälle vorstellen.

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
    1. Beschreibe bitte erst mal, was du eigentlich _erreichen_ willst.
      Ein Formular periodisch immer wieder abzuschicken, dazu kann ich mir nur begrenzt sinnvolle Anwendungsfälle vorstellen.

      Das Script (für Greasemonkey) macht schon das, was es machen soll. Es "aktualisiert" die Seite eines Online Browser Games. Es macht auch schon das, was es machen soll, aber eben nur ein mal.

      Wenn ich das ganze ohne Buttons mache, also:

      (function Galaxy()
      {
      window.setInterval("document.getElementById('galaxy_form').submit();", DELAY);
      })()

      wird die Seite auch immer wieder neu aufgerufen (es wird ein Button mit der Funktion Anzeigen immer wieder betätigt). Jetzt will ich eben um das Greasemonkey Script nicht immer wieder ausschalten zu müssen das über einen Button Start und Button Stop regeln.

      1. Das Script (für Greasemonkey) macht schon das, was es machen soll. Es "aktualisiert" die Seite eines Online Browser Games. Es macht auch schon das, was es machen soll, aber eben nur ein mal.

        Natürlich, genau das hast du programmiert.

        Wenn ich das ganze ohne Buttons mache, also:

        (function Galaxy()
        {
        window.setInterval("document.getElementById('galaxy_form').submit();", DELAY);
        })()

        Das ist genauso Unsinn, der Intervall wird immer nur einmal aufgerufen, da die Seite ja neu geladen wird.

        Struppi.

        --
        Javascript ist toll (Perl auch!)
        1. Das Script (für Greasemonkey) macht schon das, was es machen soll. Es "aktualisiert" die Seite eines Online Browser Games. Es macht auch schon das, was es machen soll, aber eben nur ein mal.

          Natürlich, genau das hast du programmiert.

          Und was muss ich nun ändern?

          1. Natürlich, genau das hast du programmiert.

            Und was muss ich nun ändern?

            Ein neues Dokument ist ein neues Dokument, d.h. das Skript ist ein komplett andere. wie du nun mit dieser Tatsache dein Vorhaben umsetzen willst können wir nicht Wissen, da dein Ansatz ja schon falsch ist.

            Struppi.

            --
            Javascript ist toll (Perl auch!)
            1. Natürlich, genau das hast du programmiert.

              Und was muss ich nun ändern?

              Ein neues Dokument ist ein neues Dokument, d.h. das Skript ist ein komplett andere. wie du nun mit dieser Tatsache dein Vorhaben umsetzen willst können wir nicht Wissen, da dein Ansatz ja schon falsch ist.

              Struppi.

              Wieso, das Script macht doch das, was ich will (zumindest die Version ohne die Buttons).

              Ich habe eine Internet Seite, die ich durch Greasemonkey automatisch aktualisieren lassen will. Dabei sollen immer verschiedene Verzögerungszeiten verwendet werden (dafür ist die Variable DELAY).
              Das funktioniert auch, jedoch will ich jetzt eben das ganze über Buttons machen.

              1. Wieso, das Script macht doch das, was ich will (zumindest die Version ohne die Buttons).

                ich hab den Greasemonkey hinweis etwas ignoriert. D.h. das Skript wird gar nciht aus dem Dokument aufgerufen?

                Dann sollte es doch kein Problem sein, einen interval zu stoppen, dazu gibt es ein Methode.

                Struppi.

                --
                Javascript ist toll (Perl auch!)
                1. Wieso, das Script macht doch das, was ich will (zumindest die Version ohne die Buttons).

                  ich hab den Greasemonkey hinweis etwas ignoriert. D.h. das Skript
                  wird gar nciht aus dem Dokument aufgerufen?

                  Nein, wird es nicht. Ich hab eben in das Dokument zwei Buttons (Start/Stop) mithilfe von GM (Greasemonkey) hinzugefügt, die dann die entsprechenden Methoden die in meinem GM Script sind ausführen.

                  Dann sollte es doch kein Problem sein, einen interval zu stoppen, dazu gibt es ein Methode.

                  Struppi.

                  Das stoppen wäre ja kein Problem, allerdings wird es sowieso nach dem ersten mal automatisch gestoppt und nicht solange ausgeführt, bis man auf Stop drückt (das wollte ich ja beseitigen).

                  1. ich hab den Greasemonkey hinweis etwas ignoriert. D.h. das Skript
                    wird gar nciht aus dem Dokument aufgerufen?

                    Nein, wird es nicht. Ich hab eben in das Dokument zwei Buttons (Start/Stop) mithilfe von GM (Greasemonkey) hinzugefügt, die dann die entsprechenden Methoden die in meinem GM Script sind ausführen.

                    Dann kann dein Ansatz nicht funktionieren.

                    Das stoppen wäre ja kein Problem, allerdings wird es sowieso nach dem ersten mal automatisch gestoppt und nicht solange ausgeführt, bis man auf Stop drückt (das wollte ich ja beseitigen).

                    Du musst jedesmal wenn das Dokument erneuert wird, die Funktion neu aufrufen.

                    Struppi.

                    --
                    Javascript ist toll (Perl auch!)
                    1. Dann kann dein Ansatz nicht funktionieren.

                      Ja, stimmt.

                      Du musst jedesmal wenn das Dokument erneuert wird, die Funktion neu aufrufen.

                      Und wie überprüfe ich nach dem aktualisieren des Dokuments, ob der Start Button gedrückt wurde und falls ja das Dokument erneut aktualisiert werden soll?

                      1. Und wie überprüfe ich nach dem aktualisieren des Dokuments, ob der Start Button gedrückt wurde und falls ja das Dokument erneut aktualisiert werden soll?

                        Indem du den onclick Event des Buttons abfragst und wenn der aufgerufen wird window.location.reload();

                        Struppi.

                        --
                        Javascript ist toll (Perl auch!)