Paul: Kann man auf ein per form geöffnetes Fenster zugreifen?

Moin moin!
Kleines Problem. Kann man auf ein per form* geöffnetes Fenster zugreifen bzw. dessen Inhalt ändern?

*<form name="a" id="a" method="post" action="../x/y/z.php">

Beispiel:

window.open(pfad, "NAME", parameter);  
...  
window.open(pfad2, "NAME", parameter2);

Dann wird der neue pfad2 im ersten Fenster geöffnet.

Paul

  1. Hello,

    *<form name="a" id="a" method="post" action="../x/y/z.php">

    dieses Form öffnet gar nichts in einem neuen Fenster - es ist ein Standardformular, das an die Ressource z.php gepostet wird.

    window.open(pfad, "NAME", parameter);

    window.open(pfad2, "NAME", parameter2);

    ist das der Inhalt von z.php?  
    Anyway, ja, das hier ist ein normals, per JavaScript geöffnetes Fenster. Bewahre den Rückgabewert von [window.open](http://de.selfhtml.org/javascript/objekte/window.htm#open) auf und du hast deine Zugriffsmöglichkeit.  
      
    MfG  
    Rouven  
    
    -- 
    \-------------------  
    sh:| fo:} ch:? rl:( br:& n4:{ ie:| mo:} va:) js:| de:] zu:| fl:( ss:) ls:& ([SelfCode](http://selfspezial.atomic-eggs.com/scode/selfcode.php?encodieren))  
      
    Ambition is the last refuge of failure.  --  Oscar Wilde (Irish Poet, Novelist, Dramatist and Critic, 1854-1900)
    
    1. Moin,

      dieses Form öffnet gar nichts in einem neuen Fenster

      da fehlt noch target="_blank", dann schon. Mein Fehler.

      ist das der Inhalt von z.php?

      Das window.open() war nur als Beispiel gedacht: So läuft's per window.open - und wie läuft das per form.submit()?

      Paul

      1. Nabend!

        dieses Form öffnet gar nichts in einem neuen Fenster
        da fehlt noch target="_blank", dann schon. Mein Fehler.

        ist das der Inhalt von z.php?
        Das window.open() war nur als Beispiel gedacht: So läuft's per window.open - und wie läuft das per form.submit()?

        Was hast Du denn versucht, das nicht funktioniert? Wie man ein Fenster mit JS erreicht, weisst Du ja scheinbar. Wo haperts denn nun dabei die noetige Transferleistung zu bringen?

        --
        "Die Diebesgilde beklagte sich darueber, dass Mumm in aller Oeffentlichkeit behauptet hatte, hinter den meisten Diebstaehlen steckten Diebe."
              - T. Pratchett
        1. Also: ich möchte ein neues Fenster per form.submit() öffnen. Auf dieses will ich dann später, z.B. mit JS, zugreifen.

          Paul

          1. Mahlzeit Paul,

            Also: ich möchte ein neues Fenster per form.submit() öffnen.

            Nein, Du möchtest per Javascript ein Formular abschicken. Dass das Formularziel dann in einem neuen Fenster angezeigt wird, hat mit dem Abschicken an sich nichts zu tun.

            Auf dieses will ich dann später, z.B. mit JS, zugreifen.

            Das kannst Du dann, wenn Du weißt, wie dieses neue Fenster http://de.selfhtml.org/javascript/objekte/window.htm#name@title=heißt.

            MfG,
            EKKi

            --
            sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
            1. Nein, Du möchtest per Javascript ein Formular abschicken. Dass das Formularziel dann in einem neuen Fenster angezeigt wird, hat mit dem Abschicken an sich nichts zu tun.

              Nein. Wie ich das Formular abschicke ist bei der Fragestellung nicht wichtig. Zur Erinnerung: man kann ein Formular auch mit <input type="submit" value=" Absenden "> abschicken. Das hat dann nicht im geringsten was mit JavaScript zu tun.

              Das kannst Du dann, wenn Du weißt, wie dieses neue Fenster http://de.selfhtml.org/javascript/objekte/window.htm#name@title=heißt.

              Und noch einmal: das mit window.open habe ich nur als Beispiel genommen. Das neue Fenster wird über das Formular mit target="_blank" geöffnet.

              Trotzdem Danke für die Antwort,
              Paul

              1. Hallo,

                Nein, Du möchtest per Javascript ein Formular abschicken. Dass das Formularziel dann in einem neuen Fenster angezeigt wird, hat mit dem Abschicken an sich nichts zu tun.
                Nein. Wie ich das Formular abschicke ist bei der Fragestellung nicht wichtig. Zur Erinnerung: man kann ein Formular auch mit <input type="submit" value=" Absenden "> abschicken. Das hat dann nicht im geringsten was mit JavaScript zu tun.

                das ist -mit etwas anderen Worten- doch genau dasselbe, was EKKi schon gesagt hat.

                Und noch einmal: das mit window.open habe ich nur als Beispiel genommen. Das neue Fenster wird über das Formular mit target="_blank" geöffnet.

                Und nochmal: Warum target="_blank"? Benutze doch gleich einen von dir festgelegten Fensternamen, damit du nachher per Javascript auf dieses Fenster anhand seines bekannten Namens zugreifen kannst!

                Ciao,
                 Martin

                --
                Gültig sind Frauen ab 16, wohlgeformt ab 160 Pfund.
                  (Gunnar Bittersmann)
                1. Benutze doch gleich einen von dir festgelegten Fensternamen, damit du nachher per Javascript auf dieses Fenster anhand seines bekannten Namens zugreifen kannst!

                  Und wie geht das? Jedenfalls nicht direkt, soweit ich weiß. Wenn das Fenster foo heißt, gibts ja nicht plötzlich eine globale Variable namens foo.

                  Ich kann nur JavaScript-Kontakt mit ihm aufnehmen, indem ich nachträglich window.open aufrufe:
                  var fensterobjekt = window.open('', 'foo');

                  Oder was meintet ihr?

                  Mathias

                  1. Hallo,

                    Benutze doch gleich einen von dir festgelegten Fensternamen, damit du nachher per Javascript auf dieses Fenster anhand seines bekannten Namens zugreifen kannst!
                    Und wie geht das? Jedenfalls nicht direkt, soweit ich weiß. Wenn das Fenster foo heißt, gibts ja nicht plötzlich eine globale Variable namens foo.

                    wenn ich das Fenster per Javascript geöffnet habe, dann habe ich ein window-Objekt, das diesem Fenster entspricht.

                    Ich kann nur JavaScript-Kontakt mit ihm aufnehmen, indem ich nachträglich window.open aufrufe:
                    var fensterobjekt = window.open('', 'foo');

                    Oder vorher - und danach erst das Formular in dieses Fenster lenken. Dieses "vorher" kann ja beispielsweise im onsubmit-Handler des Formulars passieren und das neue Fenster einfach leer, also ohne Dokument öffnen. Das geht schnell und fällt nicht auf. Ich habe ein window-Objekt, und die Formular-Ergebnisseite erscheint in eben diesem Fenster.

                    So long,
                     Martin

                    --
                    Wichtig ist, was hinten rauskommt.
                      (Helmut Kohl, 16 Jahre deutsche Bundesbirne)
                    1. wenn ich das Fenster per Javascript geöffnet habe, dann habe ich ein window-Objekt, das diesem Fenster entspricht.

                      Ich wiederhol' mich nur ungern aber window.open sollte nur als Beispiel herhalten. Ich will das neue Fenster nicht per JS öffnen. Nur per submit!

                      Oder vorher - und danach erst das Formular in dieses Fenster lenken. Dieses "vorher" kann ja beispielsweise im onsubmit-Handler des Formulars passieren und das neue Fenster einfach leer, also ohne Dokument öffnen. Das geht schnell und fällt nicht auf. Ich habe ein window-Objekt, und die Formular-Ergebnisseite erscheint in eben diesem Fenster.

                      Also wieder mit window.open ...

                      1. Hi!

                        wenn ich das Fenster per Javascript geöffnet habe, dann habe ich ein window-Objekt, das diesem Fenster entspricht.

                        Ich wiederhol' mich nur ungern aber window.open sollte nur als Beispiel herhalten. Ich will das neue Fenster nicht per JS öffnen. Nur per submit!

                        Du musst aber, um einen Handler fuer das Fenster zu bekommen. Einen brauchbaren Code hat Molily mittlerweile ja geliefert.

                        Spiel doch mal etwas hiermit rum:

                        <body>  
                          
                        <a onClick="x = window.open('', 'test')">OPEN</a>  
                        <a onClick="x.close()">CLOSE</a>  
                          
                        <form action="#" target="test">  
                        <input type="submit" value="SUBMISHE">  
                        </form>  
                          
                        </body>
                        

                        Wie Du evetuell bemerkst, ist eigentlich nur Code vorhanden, den Du selbst erwaehnt hast.

                        Wobei ich allerdings die Variente zuerst ein Fenster zu oeffnen und das Formular in dieses Fenster abzuschicken, fuer die sinnvollste halte.

                        --
                        "Die Diebesgilde beklagte sich darueber, dass Mumm in aller Oeffentlichkeit behauptet hatte, hinter den meisten Diebstaehlen steckten Diebe."
                              - T. Pratchett
                        1. Also geht's nicht ohne window.open.
                          Vielen Dank.

                    2. wenn ich das Fenster per Javascript geöffnet habe, dann habe ich ein window-Objekt, das diesem Fenster entspricht.

                      Gut, das war allerdings nicht die Fragestellung, daher meine Nachfrage.

                      Oder vorher

                      Stimmt, das ginge natürlich.

                      <form target="zweitfenster" action="..." id="formular">

                      Formular per JavaScript absenden:

                      var fensterobjekt = window.open('', document.forms.formular.target);
                      document.forms.formular.submit();

                      Also mit window.open plus submit - müsste das Formular im neuen Fenster öffnen.

                      Mathias