Fenster -> Frame in anderem Fenster
Christian Michel
- javascript
Leider habe ich derzeit gerade ein Problem:
Ich habe ein neues Fenster aus einem Frameset heraus geöffnet, in dem per PHP ein Wert ermittelt wird.
Diesen Wert möchte ich dann im Frameset in einem Frame wieder in einem Formular einem Textfeld zuweisen.
Wie bekomme ich es nun hin, dass er auf das andere Fenster/Frame verweist?
MfG
Christian Michel
Hallo,
Ich habe ein neues Fenster aus einem Frameset heraus geöffnet, in dem per PHP ein Wert ermittelt wird.
Diesen Wert möchte ich dann im Frameset in einem Frame wieder in einem Formular einem Textfeld zuweisen.
Wie bekomme ich es nun hin, dass er auf das andere Fenster/Frame verweist?
Das Frame ist dem Browser egal (d.h. es macht keinen Unterchied, ob das Fenster von einem Frame aus oder von einer "Seite" aus geöffnet wird)
Der JavaScript-Code sieht dann folgendermaßen aus:
(im Mozilla 1.0rc1 (Linux und Windows) und IE 5.5 getestet)
opener.document.forms['<formular_name>'].<feld>.value = wert
Wichtig: Du musst dem Formular einen Namen geben, damit Du das Formular in JavaScript überhaupt verwenden kannst.
Bsp:
Seite, die das Fenster öffnet:
...
<form name="mein_formular" ....>
<input type="text" name="eingabe_feld" value="" size="30" maxlength="30" />
</form>
...
Seite, die im Fenster geöffnet wird:
...
<input type="button" onClick="opener.document.forms['mein_formular'].eingabe_feld.value = wert;" value="Übernehmen" />
...
Grüße,
Christian
Hallo.
Leider habe ich derzeit gerade ein Problem:
Keine Begrüßung?
Ich habe ein neues Fenster aus einem Frameset heraus geöffnet, in dem per PHP ein Wert ermittelt wird.
Diesen Wert möchte ich dann im Frameset in einem Frame wieder in einem Formular einem Textfeld zuweisen.
Wie bekomme ich es nun hin, dass er auf das andere Fenster/Frame verweist?
Insofern das neue Fenster mit window.open() geöffnet wurde:
opener.parent.FrameName.document...
Gruß
Norbert
Hallo,
Insofern das neue Fenster mit window.open() geöffnet wurde:
opener.parent.FrameName.document...
Aber opener bezwichnet doch das Fenster *oder den Frame*, der das neue Fenster geöffnet hat. (zumindest bei mir unter Mozilla und IE so); also nur opener.document...
Also bei mir klappts so, wie ich vorher geantwortet habe.
In SelfHTML steht dazu nur folgendes (aus http://selfhtml.teamone.de/javascript/objekte/window.htm#allgemeines):
Genau so, wie Sie vom Hauptfenster auf ein mit open() erzeugtes Zweitfenster zugreifen können, können Sie von einem solchen Zweitfenster auf das Hauptfenster zugreifen. Dazu gibt es das Fenster-Objekt opener. Damit wird das Fenster angesprochen, von dem aus das aktuelle Fenster geöffnet wurde. Über das Objekt opener können Sie alle Eigenschaften und Methoden des öffnenden Fensters ansprechen.
Grüße,
Christian
Ich grüße dich.
Insofern das neue Fenster mit window.open() geöffnet wurde:
opener.parent.FrameName.document...
Aber opener bezwichnet doch das Fenster *oder den Frame*, der das neue Fenster geöffnet hat. (zumindest bei mir unter Mozilla und IE so); also nur opener.document...
Sicherlich, geht das, ich konnte aus dem Satz "Diesen Wert möchte ich dann im Frameset in einem Frame wieder in einem Formular einem Textfeld zuweisen." nicht ersehen, ob er den selben Frame meint, oder einen anderen.
Also bei mir klappts so, wie ich vorher geantwortet habe.
Das bezweifelt niemand.
Genau so, wie Sie vom Hauptfenster auf ein mit open() erzeugtes Zweitfenster zugreifen können, können Sie von einem solchen Zweitfenster auf das Hauptfenster zugreifen. Dazu gibt es das Fenster-Objekt opener. Damit wird das Fenster angesprochen, von dem aus das aktuelle Fenster geöffnet wurde. Über das Objekt opener können Sie alle Eigenschaften und Methoden des öffnenden Fensters ansprechen.
Ist mir bekannt.
Gruß
Norbert