Mike Roth: Keine Eingabe möglich bei stay on top window

Moin Leute,

zum Hintergrund: Ich programmiere gerade eine Applikation zur Anwendung
im Intranet. ( PHP & MSSQL )

Auf einer Page soll der Benutzer die Möglichkeit haben eine angezeigte
Addresse zu ändern. Durch anklicken eines Buttons geht ein PopUp auf,
mit den benötigten Eingabefeldern.

Jetzt kommt das eigentliche Problem:
Wenn das PopUp geöffnet wird, ist noch nicht bekannt wo die benötige
Information her kommt. Es gibt hierzu weitere Links.
Wenn sich der Benutzer für die Quelle entschieden hat, und diesen Link
klickt, ist das PopUp natürlich verschwunden.

Daher möchte ich das PopUp immer on Top halten, dazu benutze ich
im PopUp Quelltext das hier:

function immervorn()
{

self.focus();
  window.setTimeout("immervorn()",1000);
}

Das funtzt auch, aber jetzt kann man im Eingabefeld "nichts" eingeben da
das Fenster alle 1000 ms seinen focus neu erhält.

Hat jemand eine alternative Lösung wie ich das PopUp on Top halten kann?

Danke und Grüße
Mike

  1. function immervorn()
    {

    self.focus();
      window.setTimeout("immervorn()",1000);
    }

    Das funtzt auch, aber jetzt kann man im Eingabefeld "nichts" eingeben da
    das Fenster alle 1000 ms seinen focus neu erhält.

    Hat jemand eine alternative Lösung wie ich das PopUp on Top halten kann?

    Das klingt eher nach schlecht durchdachten Design, wenn du schon mit solchen Tricksereien Arbeiten musst, die das Bedienen unmöglch machen.

    Du hast zwei Möglichkeiten, entweder du löscht den Timeout (siehe clearTimeout) beim wählen einer Aktion oder du läßt diese zweifelhafte Fensterlösung (selbst wenn's für's intranet ist, überleg mal welche Anwendung du kennst, wo sich ein offensichtlich nicht nutzbares Fenster permanent in den Vordergrund drängt, während man im Hauptfenster noch Eingaben machen kann oder möchte).

    Struppi.

  2. Hi,

    Jetzt kommt das eigentliche Problem:
    Wenn das PopUp geöffnet wird, ist noch nicht bekannt wo die benötige
    Information her kommt.

    Zu diesem Zeitpunkt wird das Popup also nicht benötigt. Also gibt es keinen Grund, es bereits zu öffnen.

    Es gibt hierzu weitere Links.
    Wenn sich der Benutzer für die Quelle entschieden hat, und diesen Link
    klickt, ist das PopUp natürlich verschwunden.

    Nein, es ist nur im Hintergrund.
    JETZT ist der richtige Zeitpunkt, das Popup anzuzeigen (bzw. den Focus drauf zu setzen, wenn es unsinnigerweise schon geöffnet wurde, obwohl es noch nicht benötigt wird).

    Daher möchte ich das PopUp immer on Top halten, dazu benutze ich
    im PopUp Quelltext das hier:
    function immervorn()
    {
      self.focus();
      window.setTimeout("immervorn()",1000);
    }
    Das funtzt auch, aber jetzt kann man im Eingabefeld "nichts" eingeben da
    das Fenster alle 1000 ms seinen focus neu erhält.

    Klar - es kann immer nur 1 Teil den Fokus haben.

    Hat jemand eine alternative Lösung wie ich das PopUp on Top halten kann?

    Nein. Denn es ist der falsche Ansatz. Mach das Popup dann auf, wenn es benötigt wird!

    cu,
    Andreas

    --
    Der Optimist: Das Glas  ist halbvoll.  - Der Pessimist: Das Glas ist halbleer. - Der Ingenieur: Das Glas ist doppelt so groß wie nötig.
    http://mud-guard.de/? http://www.andreas-waechter.de/ http://www.helpers.de/
  3. Hallo,

    Hat jemand eine alternative Lösung wie ich das PopUp on Top halten kann?

    Da es um eine Intranet-Loesung geht, waere showModalDialog() eine Alternative, sofern der IE zum Einsatz kommt: http://msdn.microsoft.com/workshop/author/dhtml/reference/methods/showmodaldialog.asp.

    MfG, Thomas

    1. Moin Thomas,

      Da es um eine Intranet-Loesung geht, waere showModalDialog() eine Alternative, sofern der IE zum Einsatz kommt: http://msdn.microsoft.com/workshop/author/dhtml/reference/methods/showmodaldialog.asp.

      Das war leider nicht das richtige, da man nun im Hauptfenster die
      Quelle nicht mehr klicken kann.

      Trotzdem Danke.

      regds
      Mike