Lise: streß mit Fenstern, die modal sein sollen!

Liebes Forum,

ich hab im Selfhtml eine Möglichkeit gefunden Fenster 'modal' zumachen, indem ich dem Fenster mit einem timeout ständig den Focus gebe. Ich clear den Timeout, wenn FEnster geschlossen wird.(im IE 5.5)
Das Problem ist nur,wenn ich in dem neuen Fenster ein Formular hab. Ich kann dort nix eingeben, da der focus ja nun mal auf dem Fenster liegt. Denk ich mir so.
Ist der Focus für ein Fenster wirklich der selbe wie für die Formularfelder?
Hab versucht bei onKeyDown auf ein inputfeld den timer zu stoppen, und dem inputfeld den Focus zu geben,aber das klappt auch nicht?
Hat jemand vielleicht eine Idee dazu?

Interessanterweise, kann der Mozilla mit der Situation umgehen, dort kann ich trotz des timers der läuft was ins Formular eingeben!

Schon mal danke ! ICh hoffe ich hab mich klar ausgedrückt mit meinem Problem

Lise

  1. Liebes Forum,

    Liebe Lise

    Schon mal danke ! ICh hoffe ich hab mich klar ausgedrückt mit meinem Problem

    sorry nein, ich hab rein garnix verstanden was du willst! Bitte mal anhand von Quelltext erörtern, oder bin ich noch zu müde um was zu kapieren? Naja bin mal gespannt.

    Lise

    Gruß Christoph

    1. sorry nein, ich hab rein garnix verstanden was du willst! Bitte mal anhand von Quelltext erörtern, oder bin ich noch zu müde um was zu kapieren? Naja bin mal gespannt.

      Hi Christoph!

      O.K. Noch ein Versuch:
      Hier der Code um ein Fenster zu öffnen, was immer den Focus behält:

      function openWindow(page, width, height, top, left){
        neuActivity = window.open(page,"Fenster1","width="+width+",height="+height+",left="+left+",top="+top+", depend=yes,scrollbars=yes");
        neuActivity.focus();
        immervorn();
       }

      //mit Errorhandling für IE-Browser 5.0
      fensterIstZu = false;
       function immervorn(windowName){
         //alert(windowName)
         if (neuActivity.closed == true){
          fensterIstZu = true;
         }
         if (fensterIstZu == false){
            neuActivity.focus();
            aktiveActivity = window.setTimeout("immervorn()",10);
         }
         if (fensterIstZu == true){
         window.clearTimeout(aktiveActivity);
         neuActivity ='zu';
         document.getElementById('error').style.visibility="hidden";
         fensterIstZu = false;
         }

      }

      Im geöffneten Fenster ist ein Formular,in das ich aber im IE keine EIngaben machen kann, da der Focus ständig auf das Fenster gesetzt wird?
      Ich will aber natürlcih was in das Formular eingeben, und will verhindern das jemand in das Hauptfenster kommt ohne das Form abzuschicken oder zu canceln.
      Ich würde gerne wissen ob das überhaupt möglich ist, wenn der Focus ständig gesetzt wird?
      Oder ob es andere Möglichkeiten gibt Fenster 'modal' sprich im Vordergrund zu halten gibt.

      Ich hoffe es ist klarer, ist ja nicht so einfach die Dinge klar zu fassen, wenn man so drin steckt.

      Lise

      1. Hi Lise

        Im geöffneten Fenster ist ein Formular,in das ich aber im IE keine EIngaben machen kann, da der Focus ständig auf das Fenster gesetzt wird?
        Ich will aber natürlcih was in das Formular eingeben, und will verhindern das jemand in das Hauptfenster kommt ohne das Form abzuschicken oder zu canceln.
        Ich würde gerne wissen ob das überhaupt möglich ist, wenn der Focus ständig gesetzt wird?
        Oder ob es andere Möglichkeiten gibt Fenster 'modal' sprich im Vordergrund zu halten gibt.

        Warum löst du es mit einem Timeout und nicht dem Handler onBlur?
        http://selfhtml.teamone.de/javascript/sprache/eventhandler.htm#onblur
        Ist nach Standard allerdings nicht erlaubt im Body, soll aber laut
        dem Link da funktionieren.

        Damit setzt du denk Fokus immer nur dann wieder, wenn es den Fokus verliert.

        Du weist allerdings, das man einigen Browser sowas verbieten kann und ich
        zb das auch tue (und damit bei weitem nicht die einzige bin).

        Gruss Daniela

        1. Hi Daniela,

          Ich habs jetzt im geöffneten Fenster versucht im Body mit onBlur="self.focus();", dann hab ich ber wieder das Problem nix in das Formular eingeben zu können.
          Wie doof?

          Aber danke für den Tipp

          Lise