mabu: getElementById() in fremdem Fenster

Hi!

Ich habe folgendes Problem. Ich habe zwei offene Fenster, wobei das 2. vom 1. geöffnet wurde. Jetzt will ich vom 2. Fenster aus Daten in das 1. Fenster übergeben.

Das ganze mache ich so:

opener.getElementById('txtFileName').value = "test";

Eigentlich sollte das ja gehen, tut es aber nicht.

Wenn ich in Fenster 1 folgendes ausführe, dann geht es:

document.getElementById('txtFileName').value = "test";

Kann es sein, dass getElementById() nicht fensterübergreifend funktioniert? Ich weiß sonst wirklich nicht, woran das liegen könnte...

Danke schonmal,
mfg,
mabu

  1. Hallo,

    opener.getElementById('txtFileName').value = "test";

    Eigentlich sollte das ja gehen, tut es aber nicht.

    Wenn ich in Fenster 1 folgendes ausführe, dann geht es:

    document.getElementById('txtFileName').value = "test";

    Warum sollte der "opener" _kein_ document-Objekt haben?

    MfG, Thomas

  2. Hallo.

    opener.getElementById('txtFileName').value = "test";

    Damit sprichst du das Hauptfenster an.

    opener.document.getElementById('txtFileName').value = "test";

    Damit sprichst du das Dokument im Hauptfenster an und dann sollte es auch funktionieren.

    Eigentlich sollte das ja gehen, tut es aber nicht.

    Es funktioniert nur nicht, weil der Code falsch ist.

    Wenn ich in Fenster 1 folgendes ausführe, dann geht es:
    document.getElementById('txtFileName').value = "test";

    Das ist auch richtig so.

    Kann es sein, dass getElementById() nicht fensterübergreifend funktioniert? Ich weiß sonst wirklich nicht, woran das liegen könnte...

    Siehst du ja oben.

    Mit opener sprichst du einfach nur das Hauptfenster an.
    Ob du document, location, oder sonst nochwas ansprichst musst du noch bestimmen.

    Ich hoffe ich konnte helfen, H2O

    --
    #*~!:     Endlich Ferien.
    Selfcode: ie:% fl:| br:^ va:| ls:# fo:) rl:? n4:| ss:{ de:] js:) ch:? sh:( mo:? zu:|
    Infos:    http://emmanuel.dammerer.at/selfcode.html
    1. danke für die antwort, es geht...

      aber opener.form.eingabefeld.value geht ja auch... und normalerweise heißt es auch document.form.eingabefeld.value... deshalb der fehler

      1. hi,

        aber opener.form.eingabefeld.value geht ja auch...

        nein, tut es nichtg.
        das form-objekt liegt unterhalb von document, opener ist aber eine instanz des window-objektes.

        gruß,
        wahsaga

        --
        I'll try being nicer if you'll try being smarter.
        1. doch, ich habe es immer so gemacht, wenn ein <form> vorhanden war...

          function choose_menuadmin(which) {
             opener.form.target.value=which;
             window.close();
          }

          und es funktioniert hervorragend

          1. hi,

            und es funktioniert hervorragend

            es hat _zufällig_ unter der von dir verwendeten testkonstellation "funktioniert".

            daraus auf "ist richtig" zu schliessen ist
            a) unsinn
            b) gefährlich
            c) dumm

            gruß,
            wahsaga

            --
            I'll try being nicer if you'll try being smarter.
            1. Hallo.

              es hat _zufällig_ unter der von dir verwendeten testkonstellation "funktioniert".

              In allen Browsern?
              Ich denke, wohl kaum.

              Schönen Tag noch, H2O

              --
              #*~!:     Endlich Ferien.
              Selfcode: ie:% fl:| br:^ va:| ls:# fo:) rl:? n4:| ss:{ de:] js:) ch:? sh:( mo:? zu:|
              Infos:    http://emmanuel.dammerer.at/selfcode.html