Martin Lilienthal: Frame aus popup-fenster neu laden

Hi,

ich stehe vor folgendem Problem:

Die Seite besteht aus einem Frameset (links Navigation, rechts Inhalt => Name des Frames "content"). Im Content-Frame kann der User ein Popup fenster öffnen, um mit einem Formular bestimmte Daten zu ändern. Nun möchte ich, das der User in diesem Popup-Fenster auf einen Button clicken und damit einerseits das popup schliessen und andererseits den "content" Frame neu laden kann.

Ich habe folgendes ausprobiert:

<input type="button" onclick="parent.content.document.location.href = '/ETOrder/order.jsp?ACT=overview'; window.close();">

Funktioniert aber nicht... (JavaScript Fehler)

Gibt es dafür irgendeine Lösung (Fenster schliessen und gleichzeitig "content" Frame neu laden)?

Vielen Dank im Voraus,

Martin Lilienthal

  1. Hallo Martin!

    <input type="button" onclick="parent.content.document.location.href = '/ETOrder/order.jsp?ACT=overview'; window.close();">

    Funktioniert aber nicht... (JavaScript Fehler)

    Welcher wäre schon interessant gewesen.

    Tip: Netscape zum Testen nehmen. Der zeigt wenn man Javascript: in der URL-Zeile angibt anständige Fehlermeldungen.

    Ausserdem: schreibe eine Funktion für das was du machen willst. Dann kann jede Anweisung eine eigene Zeile bekommen und Fehler lassen sich einfacher eingrenzen.

    also:

    </script>
    function wechsel(wohin)
    {
      opener.document.location.href = wohin;
    //^^^^^^---korrigiert: du bist in einem Popup window, nicht im Frame!
      window.close();
    }
    <script>

    <input type="button" onclick="wechsel('/ETOrder/order.jsp?ACT=overview');">

    Gruss,
     Carsten

  2. Hi,
    meines Wissens nach ist es nicht möglich den Inhalt eines Frames aus einem anderen Fenster heraus zu ändern.

    Ich würde ein CGI-Script schreiben, das als Output deine komplette Seite mit beiden Frames erzeugt und als Argument die Adresse der html-Seite enthält, die im Inhalts-Fenster angezeigt werden soll.

    Auf dieses CGI kannst du dann deinen Link setzen und je nach den Änderungen im PopUp-Fenster andere Argumente übergeben.

    mfg Daniel