Thomas Edmueller: opener -> kindfenster -> frameset -> Eingaben an den Opener!

Hallo alle miteinander,

ich habe ein Problem ....
Ich mache ein Fenster auf mit

window.open("cd_index.html","Servereingabe")

cd_index.html
-------------------------------------------------
<frameset rows="130,*">
  <frame src="cd.html" name="Navigation">
  <frame src="02.html" name="Daten">
  <noframes>
    Ihr Browser kann diese Seite leider nicht anzeigen!
  </noframes>
</frameset>

in der Datei 02.html ist in "input" - TAG und diesen Wert möchte
ich jetzt in meinem Hauptfenster übertagen.

der Befehl Opener mag einfach nicht was mir eigetnlich auch klar ist.
Da ja eigetnlich nur das "parent" Objekt weiß wer Opener ist.
Wie kann jedoch auf das Ursprungsfenster zurückgreifen?
vom frame --> parent --> opener ?

Danke im voraus !

Gruß Thomas

  1. Hallo alle miteinander,

    Hallo,

    bisschen gekürzt, hoffe das du damit klar kommst, müsste so funktionieren, bei mir tut es.

    MfG Christian

    [frager.html]
     window.open("cd_index.html","Servereingabe");
     var inhalt=parent.Servereingabe.abfrage();

    [cd_index.html]
     -------------------------------------------------
     <script language="Javascript">
      function abfrage() {
       var inhalt=parent.frame[0].test();
      return inhalt;
      }
     </script>
    <frameset rows="130,*">
       <frame src="cd.html" name="Navigation">
       <frame src="02.html" name="Daten">
       <noframes>
         Ihr Browser kann diese Seite leider nicht anzeigen!
       </noframes>
     </frameset>

    [02.html]
     <script language="Javascript">
      function test() {
      //z.B.:
       var inhalt=document.forms[0].elements[0].value;
      return inhalt;
      }
     </script>

  2. window.open("cd_index.html","Servereingabe")

    cd_index.html

    <frameset rows="130,*">
      <frame src="cd.html" name="Navigation">
      <frame src="02.html" name="Daten">
      <noframes>
        Ihr Browser kann diese Seite leider nicht anzeigen!
      </noframes>
    </frameset>

    in der Datei 02.html ist in "input" - TAG und diesen Wert möchte
    ich jetzt in meinem Hauptfenster übertagen.

    der Befehl Opener mag einfach nicht was mir eigetnlich auch klar ist.
    Da ja eigetnlich nur das "parent" Objekt weiß wer Opener ist.
    Wie kann jedoch auf das Ursprungsfenster zurückgreifen?
    vom frame --> parent --> opener ?

    Danke im voraus !

    Gruß Thomas

    probiers mal mit:

    top.opener.variable_von_opener = self.document.formularname.feldname.value;

    oder:

    self.top.opener.variable_von_opener = self.document.formularname.feldname.value;

    ciao
    Stephan

  3. Moin!

    der Befehl Opener mag einfach nicht was mir eigetnlich auch klar ist.
    Da ja eigetnlich nur das "parent" Objekt weiß wer Opener ist.
    Wie kann jedoch auf das Ursprungsfenster zurückgreifen?
    vom frame --> parent --> opener ?

    Du mußt den Weg "zurückgehen", den du mit deinen Anweisungen vorwärt zurückgelegt hast:

    1. Im Frameset eine Ebene hoch, bzw. ganz nach oben: parent oder top.

    2. Dann zum öffnenden Fenster: opener.

    3. Und dann nach Wunsch dort in andere Frames: top, parent oder FRAMENAME.

    Folglich:
    alert(top.opener.location.href) greift auf die URL des öffnenden Fensters zu (als Beispiel). Damit siehst du, ob's funktioniert.

    - Sven Rautenberg

    1. Vielen Dank für die Prompte antwort!

      mit
      parent.opner ... habe ich es auch schon probiert gehabt ...;-) hatte noch einen zusätzlichen Fehler drin .... jetzt klappts ...

      Danke nochmals Gruß Thomas

      Moin!

      der Befehl Opener mag einfach nicht was mir eigetnlich auch klar ist.
      Da ja eigetnlich nur das "parent" Objekt weiß wer Opener ist.
      Wie kann jedoch auf das Ursprungsfenster zurückgreifen?
      vom frame --> parent --> opener ?

      Du mußt den Weg "zurückgehen", den du mit deinen Anweisungen vorwärt zurückgelegt hast:

      1. Im Frameset eine Ebene hoch, bzw. ganz nach oben: parent oder top.
      1. Dann zum öffnenden Fenster: opener.
      1. Und dann nach Wunsch dort in andere Frames: top, parent oder FRAMENAME.

      Folglich:
      alert(top.opener.location.href) greift auf die URL des öffnenden Fensters zu (als Beispiel). Damit siehst du, ob's funktioniert.

      • Sven Rautenberg