Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Javascript stört Formular

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [Erledigt] Javascript stört Formular

    wie im Titel...

    Meine Seite hat ein Mini-Javascript
    HTML-Code:
    <iframe src="" width="0" height="0" style="border: 0 none transparent;"
     onload="javascript:window.setTimeout(\'document.location.reload()\', 5000)">
    </iframe>
    um die Seite alle 5 Sekunden zu aktualisieren

    alle 3 dieser Aktualisierungsaufrufe schalte ich mittels Zeitstempel eine Session-Variable um, und stelle eine andere Statistik-Grafik dar, die wiederrum aus unterschiedlichen Quellen (3x Excel import, 2x Mysql-Import) dynamisch mit image-Funktionen erstellt wird ...

    Nun möchte mein Chef von mir mehrere Buttons auf der Seite haben, die ihm Einflußnahme gewähren - zB für Vorführungen, wenn ihm die 15 Sekunden Wartezeit zu lang sind...

    Aber seit ich die 3 bzw 4 Buttons mittels Formular auf die Seite gebaut habe, klappt es nicht mehr so richtig ...

    und zwar bekomme ich von Firefox jedesmal die gleiche Meldung, wie bei Betätigen der Zurück-Taste, wenn vorher Formular-Daten verarbeitet wurden ...
    "Um diese Seite anzuzeigen, müssen die von Firefox gesendeten Daten erneut gesendet werden, wodurch alle zuvor durchgeführten Aktionen wiederholt werden (wie eine Suche oder eine Bestellungsaufgabe)." ....

    das ist nicht nur nervig, sondern hat obendrein den Nachteil, dass dann die Buttons doppelt abgeschickt werden

    da 2 der Buttons zum manuellen Vor / Rückblättern dienen, werden dann immer 2 Seiten übersprungen, was irgendwie "doof" ist ...

    nun meine Frage ist so offensichtlich wie einfach .. wie kombiniere ich mein Miniformular mit dem Javascript-Teil aus dem iframe? oder gibts noch andere Wege das automatisch ablaufen zu lassen .. vorweg von http-weiterleitung halte ich in dem Zusammenhang recht wenig ..
    "Irren ist männlich", sprach der Igel und stieg von der Drahtbürste


  • #2
    Nutze GET als Action-Methode des Formulars.
    Außerdem ist es wenig sinnvoll, den iFrame per JS von außen zu steuern. Viel eher sollte dieses JS innerhalb der Seite liegen, die im iFrame angezeigt wird. Das bietet dir eine bessere Kontrolle, ohne dass du ständig auf die Elternseite zugreifen musst. Alternativ könntest du auch einen Meta-Refresh nutzen.
    Refining Linux: “Performing Push Backups – Part 1: rdiff-backup

    Kommentar


    • #3
      Zitat von eagle275 Beitrag anzeigen
      "Um diese Seite anzuzeigen, müssen die von Firefox gesendeten Daten erneut gesendet werden, wodurch alle zuvor durchgeführten Aktionen wiederholt werden (wie eine Suche oder eine Bestellungsaufgabe)." ....
      Die Anzeige ist normal bei per POST versendeten Formularen.

      Entweder stellst du auf GET um, oder du leitest nach dem Formular verschicken weiter, dann wird auch wieder GET benutzt.

      Kommentar


      • #4
        Zitat von eagle275 Beitrag anzeigen
        HTML-Code:
        <iframe src="" width="0" height="0" style="border: 0 none transparent;"
         onload="javascript:window.setTimeout(\'document.location.reload()\', 5000)">
        </iframe>
        um die Seite alle 5 Sekunden zu aktualisieren
        Würg... wozu war die automatische Aktualisierung doch gleich?

        Sowas gehört verboten.. Anfragen sollten auch als solche angesehen werden: Wer etwas sehen will, klickt einen Link (Request) und bekommt das Ergebnis zu sehene (Response). Ein Browser sollte nicht von sich aus Anfragen erstellen - im schlimmsten Fall erzeugst du damit jede Menge Traffic, und kein Schwein interessierts.

        Sogar dein Chef möchte seine Ergebnisse auf Knofpdruck haben... warum ist das dann nicht der Standard?
        Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

        Kommentar


        • #5
          also nochmal langsam istegelitz ...

          die StatistikSeite bietet nacheinander 5 automatisch wechselnde dynamisch berechnete Grafiken ..- jedenfalls im Normalfall - da das ganze später auf einem Minipc "oben" überm Serverschrank automatisch auf einem Display laufen soll , mit womöglich keiner Nutzerinteraktion über Wochen ...

          Nun möchte mein Chef ZUSÄTZLICH die Möglichkeit haben, dadrin mit ein paar Buttons die automatische Anzeige zu beeinflussen ..

          Anhalten des ganzen -> da hab ich im Moment ne if-Abfrage im Formular, die dann sowohl den I-Frame als auch die Abfolge der Seiten anhält und halt immer die gleiche Seite zeigt, bis wieder was passiert - dafür gibts dann noch Buttons zum manuellen Vor und Zurückblättern - und zum Starten der automatischen Wiedergabe

          Chris, Manko: ok .. GET .. danke werd ich morgen mal einbauen - heute is feierabend
          "Irren ist männlich", sprach der Igel und stieg von der Drahtbürste

          Kommentar


          • #6
            Zitat von eagle275 Beitrag anzeigen
            die StatistikSeite bietet nacheinander 5 automatisch wechselnde dynamisch berechnete Grafiken
            Na dann ändere doch dynamisch die Bilder, bzw. lasse nur diese neu laden.

            Kommentar


            • #7
              die sind aber nicht auf 1 Seite zu sehen, wegen der Größe ., sondern auf 5 Seiten ....
              "Irren ist männlich", sprach der Igel und stieg von der Drahtbürste

              Kommentar


              • #8
                Und wie wechselt der Nutzer zwischen denen?

                Kommentar


                • #9
                  im Normalfall wie gesagt automatisch - dafür hab ich ja das Javascript i-frame drin ...

                  ansonsten wird der einzige echte Nutzer mein Chef sein, der dann für Präsentationen gegenüber Gästen die automatische Weiterschaltung unterbrechen und dann manuell navigieren will, dafür gibts ja die Buttons im Formular
                  "Irren ist männlich", sprach der Igel und stieg von der Drahtbürste

                  Kommentar


                  • #10
                    Problem erledigt , Chef glücklich
                    "Irren ist männlich", sprach der Igel und stieg von der Drahtbürste

                    Kommentar


                    • #11
                      Dann bitte noch auf 'erledigt' klicken.
                      PHP-Code:
                      if ($var != 0) {
                        
                      $var 0;

                      Kommentar


                      • #12
                        ausgeführt ^^
                        "Irren ist männlich", sprach der Igel und stieg von der Drahtbürste

                        Kommentar


                        • #13
                          kann ich denn nachträglich noch erfahren, wer der (Haupt-)Verursacher für das Problem war?
                          Ich kämpfe nämlich auch schon ca. 1 Woche gegen ein ganz ähnliches Problem:

                          (SQL mit php auslesen, Mini-Form für Suchbegriff, Ausgabe in html-Tabelle)
                          Ich wollte nur noch "Anzahl Zeilen" in ein Output-Feld (per Javascript) eintragen ...
                          Seither ist das Verhalten nur noch verwirrend bzw. es klappt nichts mehr ...

                          Gibt es denn grundsätzliche "Unverträglichkeiten?

                          Kommentar

                          Lädt...
                          X