Olivier Brian: Frame crash beim neu laden

Hallo zäme

Ich habe folgendes Problem: Bei einer Internetanwendung habe ich in einem Frame mit Javascript/php eine Suche erstellt. Beim Ändern eines <Select> wird das Formular mit onChange abgeschickt und die Datei neu geladen. Je nach Auswahl werden andere Felder angezeigt. Funktioniert soweit einwandfrei. Erst wenn ich sehr schnell das Select ändere hängt sich das Frameset auf. Der neu zu ladender Inhalt der Suche wird nicht mehr angezeigt. Die Datei ohne Frame funktioniert auch bei schneller Änderungen gut.

Verwende IE 6

Gruss oli

  1. Was passiert mit den Daten des Formulars auf der Serverseite?
    Bzw. hast Du mal eine Test-URL wo man das ausprobieren könnte, oder einen Code-Schnippsel?

    Gruss,
    Joerg

    1. Was passiert mit den Daten des Formulars auf der Serverseite?
      Bzw. hast Du mal eine Test-URL wo man das ausprobieren könnte, oder einen Code-Schnippsel?

      Ich lese die Daten aus einer Oracle DB und aus einem config txt file.
      Das Select sieht wie folgt aus:
      <form action="" name="form_suche">
      <select name="gmd" size=0 onChange="this.form_suche.submit();">
      <option value="1">test1</option>
      <option value="2">test2</option>
      <option value="3">test3</option>
      </select>
      </form>

      1. Moin,

        Ich lese die Daten aus einer Oracle DB und aus einem config txt file.

        wird das config-File und/oder die Datenbank modifiziert wenn du auf Submit klickst? Wenn ja, vielleicht kommt es dadurch zu Inkosistenzen (dass die config-Datei z.B. noch nicht fertig geschrieben wurde, bevor du den Frame neu lädst)?

        1. Ich lese die Daten aus einer Oracle DB und aus einem config txt file.

          wird das config-File und/oder die Datenbank modifiziert wenn du auf Submit klickst? Wenn ja, vielleicht kommt es dadurch zu Inkosistenzen (dass die config-Datei z.B. noch nicht fertig geschrieben wurde, bevor du den Frame neu lädst)?

          Nein. Die Daten werden nicht verändert, nur ausgelesen. probier es mal selber: http://map.grunder.ch/website/regio%2Dbro/php/frame.html

          *Das linke frame ist unglültig - tut aber nichts zur sache..

          1. Nein. Die Daten werden nicht verändert, nur ausgelesen. probier es mal selber: http://map.grunder.ch/website/regio%2Dbro/php/frame.html

            Hm, klappt bei mir eigentlich einwandfrei. Vermaledeiter Vorführ-Effekt :)

            1. Hm, klappt bei mir eigentlich einwandfrei. Vermaledeiter Vorführ-Effekt :)

              Du musst das Select sehr schnell ändern.. und bevor die ganze Datei neu geladen wurde, schon wieder änder.. nach ca 3 änderungen bricht das frameset ab..

              1. Hallo Olivier,

                Deine Seite bzw. dein Javascript haben einige kleine Fehler, die moeglicherweise mitverantwortlich sind fuer das Problem. Ich habe deine Seite zur Demonstration mal stark verkuerzt, um das deutlich zu machen.

                <html>
                <head>
                <script type="text/javascript">
                <!--
                function update_form(){
                 this.form_suche.submit();
                // Hier zeigt Mozilla einen Fehler an, weil er this.form_suche nicht kennt
                }

                //-->
                </script>
                </head>
                <body>

                <form action="" name="form_suche">
                    <select name="gmd" size=0 onChange="this.form.submit()">
                Du brauchst die Funktion aber auch nicht, da hier ^^^^^^ so vorgehen kannst.

                <option value="Burgdorf">Burgdorf</option>
                      <option value="Eggiwil">Eggiwil</option>
                    </select>
                      <select name="medium" size=4 onclick="this.form.submit()">
                hier auch------------------------------------^^^^^^^^^^^^^^^^
                        <option value="av_strassenbezeichnung&adrname">Strasse
                      </select>
                      <br>
                  </form></form>
                nana, wieviele forms willst Du denn schliessen....

                </body>
                </html>

                Dieter

                1. hallo dieter

                  Danke für deine Tipps.. Ich habe mein File angepasst, doch leider tritt das Problem immernoch auf. Ärgerlich ist auch, dass kein Fehler ausgegeben wird.
                  Beim raschen ändern des Select erscheint das rechte frame plötzlich nicht mehr!

                  oli

                  1. Hallo,

                    Hast Du mal probiert, wie oben beschrieben, das Script ein bisschen pausieren zu lassen?

                    Dieter

                    1. Hast Du mal probiert, wie oben beschrieben, das Script ein bisschen pausieren zu lassen?

                      Ich habe dem script noch etwas zum arbeiten gegeben :-) aber jetzt passiert der fehler immer noch. noch fast eher als früher..

                      • komisches problem
                      1. Hallo Olivier

                        Ich habe dem script noch etwas zum arbeiten gegeben :-) aber jetzt passiert der fehler immer noch. noch fast eher als früher..

                        Natürlich, wenn es zusätzliche Arbeit bekommt, bremst es alles ander aus.
                        Wenn du es Verzögern willst, dann indem du die zu verzögernde Aktion mittels
                        setTimeout() aufrufst.

                        Auf Wiederlesen
                        Detlef

                        --
                        - Wissen ist gut
                        - Können ist besser
                        - aber das Beste und Interessanteste ist der Weg dahin!
  2. Hallo oli,

    das klingt ein bisschen als haettest Du ein Problem mit dem Timing. In Javascript gibt es ja kein wait() oder sleep(). Vielleicht laesst Du Deine Funktion in einer Schleife erstmal bis 10000 (oder so) zaehlen, bevor die eigentliche Suche beginnt.

    Dieter