Fritz: focus setzen

Hallo,

mit
window.opener.focus();
setze ich den focus ins aufrufende Fenster, nachdem in einem popup eine Aktion ausgeführt wurde.

Warum aber kann ich im aufrufenden Fenster den focus nicht in ein Element meiner Wahl setzen?
Hab es probiert mit
window.opener.document.getElementById('line').focus
oder
window.opener.getElementById('line').focus

Kann mir bitte jemand helfen.

Gruß Fritz

--
ie:( fl:( br:? va:) ls:< fo:| rl:? ss:{ de:> js:| mo:} zu:}
http://webdesign.weisshart.de/
  1. Wenn du keinen anderen Fehler hast, dann musst du einfach statt "focus" einfach "focus()" (mit Klammern) schreiben.

    1. Hallo,

      Wenn du keinen anderen Fehler hast, dann musst du einfach statt "focus" einfach "focus()" (mit Klammern) schreiben.

      Sorry, da stehen natürlich Klammern. War schlampig kopiert von mir.
      Tut aber trotzdem nicht.
      Der focus bleibt im popup, kein Fehler in der Konsole

      Gruß Fritz

      --
      ie:( fl:( br:? va:) ls:< fo:| rl:? ss:{ de:> js:| mo:} zu:}
      http://webdesign.weisshart.de/
      1. Tut aber trotzdem nicht.
        Der focus bleibt im popup, kein Fehler in der Konsole

        Das kann nicht sein oder du behälst wichtige Informationen für dich.

        Struppi.

        --
        Javascript ist toll (Perl auch!)
        1. Hallo Struppi,

          Das kann nicht sein

          Hm, mit dieser Aussage bin ich inzwischen _sehr_ vorsichtig.
          Spaß beiseite.
          Ich konnte mein Problem lösen.
          Zuerst habe ich beim Aufruf des popup dafür gesorgt, dass der focus im aufrufenden Fenster dort steht, wo ich ihn auch anschließend haben will.
          Dann genügt im popup:
          window.opener.focus();

          Jedoch - wie nicht anders zu erwarten - _nicht_ im IE

          Also wieder mal eine Browserweiche rausgekramt:
          if (document.all) {    // Sch*** IE
              window.opener.document.getElementById('line').focus();
          } else {
              window.opener.focus();
          }

          PS: ich bleibe dabei:
          der Aufruf mit getElementById tut im Gecko nicht!!

          PPS: und der OP (meine Version: 9.1) mag weder die eine noch die andere Version (auch ohne Browserweiche getestet) und behält das popup im focus?

          Gruß Fritz

          --
          ie:( fl:( br:? va:) ls:< fo:| rl:? ss:{ de:> js:| mo:} zu:}
          http://webdesign.weisshart.de/
          1. Ich konnte mein Problem lösen.
            Zuerst habe ich beim Aufruf des popup dafür gesorgt, dass der focus im aufrufenden Fenster dort steht, wo ich ihn auch anschließend haben will.

            Ja, das benötigt zumindest FF so.

            Dann genügt im popup:
            window.opener.focus();

            oder auch nur: opener.focus()

            Jedoch - wie nicht anders zu erwarten - _nicht_ im IE

            kann ich nciht nachvollziehen, funktioniert tadellos zumindest im IE 7.
            http://javascript.jstruebig.de/test/fenster2.html

            PS: ich bleibe dabei:
            der Aufruf mit getElementById tut im Gecko nicht!!

            Wenn du das richitg Element erwischt schon, aber da du vermutlich ein Formularelement haben möchtest, tu es auch document.forms[..].elements[...]

            PPS: und der OP (meine Version: 9.1) mag weder die eine noch die andere Version (auch ohne Browserweiche getestet) und behält das popup im focus?

            kann ich hier nicht testen.

            Struppi.

            --
            Javascript ist toll (Perl auch!)
            1. Hallo Struppi,

              dein Beispiel hat mich weitergebracht.
              erst den focus zurück ins aufrufende Fenster, und _dann_ den Focus ins gewünschte Element.
              Also:
              window.opener.focus();
              window.opener.document.getElementById('line').focus();

              was den Opera betrifft, kann ich mir momentan nur mit einem window.close() behelfen, weil das popup sonst im Vordergrund bleibt.

              Gruß Fritz

              --
              ie:( fl:( br:? va:) ls:< fo:| rl:? ss:{ de:> js:| mo:} zu:}
              http://webdesign.weisshart.de/
              1. hi,

                was den Opera betrifft, kann ich mir momentan nur mit einem window.close() behelfen, weil das popup sonst im Vordergrund bleibt.

                Vielleicht, weil in den Optionen eingestellt ist, dass der Fokus von Fensterobjekten nicht per Javascript geändert werden darf ...

                gruß,
                wahsaga

                --
                /voodoo.css:
                #GeorgeWBush { position:absolute; bottom:-6ft; }
              2. dein Beispiel hat mich weitergebracht.

                Das war auch der falsche Link :-(

                hier der richtige http://javascript.jstruebig.de/test/fenster1.html

                funktioniert auch im Opera (9)

                Struppi.

                --
                Javascript ist toll (Perl auch!)