Fenster aktualisieren

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

  • Fenster aktualisieren

    Hallo zusammen!

    Ich rufe aus einem Frame heraus eine Funktion zum Öffnen eines Fensters auf, die wie folgt aussieht:

    function fenster(url,b,h)
    {
    window.open(url, 'newwindow',"toolbar=no,status=no,menubar=no,scrollbars=no,width="+b+",height="+h+"");
    }

    Dann erhalte ich ein Fenster mit einer Eingabemaske und einem Speicherbutton mit dem Namen submit. Nun möchte ich, dass beim Anklicken zunächst ein Datensatz gespeichert wird, dann der Frame, aus dem das Fenster aufgerufen wurde, aktualisiert wird und dann das Fenster geschlossen wird.

    Das Speichern und Schließen funktioniert, allerdings das Aktualisieren des Ursprungsframes bzw. des Fensters nicht.

    Der Code im Fenster sieht so aus:

    <?php
    if(!empty($submit))
    {
    //Speicherroutine
    $db->query("INSERT
    INTO ...");

    //Fenster schließen
    echo "<script type=\"text/JavaScript\">
    window.opener = top;
    window.self.close();
    </script>";
    }
    ?>

    Ich habe jetzt gelesen, dass man das hier verwenden könnte:
    function onRefreshOpener()
    {
    if (window.opener && !window.opener.closed)
    {
    parent.reload();
    }
    }

    und habe das in den Header der Datei, die im Fenster aufgerufen wird geschrieben, und den body-Tag wie folgt erweitert:

    <body onclose="onRefreshOpener();">
    oder
    <body onunload="onRefreshOpener();">

    Beides hat aber nicht funktioniert, das Ursprungsfenster wurde nicht aktualisiert.

    Kann mir da jemand mal bitte helfen?

    Gruß,
    Frank

  • #2
    Rufe onRefreshOpener() mal onclick auf den Speichern-Button auf. Onclose/unload führen viele Browser nicht aus.

    Kommentar


    • #3
      Hab die Funktion jetzt modifiziert:

      <script type="text/JavaScript">
      function onRefreshOpener()
      {
      if (window.opener && !window.opener.closed)
      {
      window.opener.reload();
      }
      }
      </script>

      Und der Button sieht jetzt so aus:
      <input type="submit" name="submit" onclick="onRefreshOpener()" value="<?php echo htmlentities(gettext("Speichern")); ?>" />

      Effekt ist derselbe wie vorher: weder mit IE noch mit Firefox passiert irgendwas!

      Kommentar


      • #4
        Und 2 Minuten später geht es!
        Die korrekte Funktionsdefinition lautet:

        self.opener.location.reload();

        Kommentar

        Lädt...
        X