JS/asp.NET :: Modales Popup

Schlagwörter:, , , , asp.NET, html/js Kein Kommentar »

Nachdem ich ja bereits das “puristische” modale Popup beschrieben habe, hier nun die elegantere Lösung.

Zunächst benötigen wir ein einfaches Javascript, dass wir im Head-Bereich der aufrufenden Seite platzieren:

<script type=“text/javascript“>
function Dialog()
   {
      var ret=window.showModalDialog(“popup.aspx”,window, ↙
      “dialogHeight: 500px; dialogWidth: 800px; status: No; center:yes”
   );

   if (ret == “1″)
      {
         document.location.href = document.URL;
      }
   }
</script>

Der Aufruf dieses modalen Popups kann über zwei Wege erfolgen:

- per Link im html-Quelltext:

<a href=”javascript:void(0);” onClick=”Dialog();”>Popup öffnen</a>

- per Aufruf durch einen <asp:Button>:

Um den Aufruf durch einen <aps:Button> zu realisieren muss dem Button ein Attribut zugewiesen werden:

protected void Page_Load(object sender, EventArgs e)
{
    myButton.Attributes.Add(“onClick”, “javascript:Dialog();”);
}

Dieses Attribut bewirkt nun, dass beim Klicken des Buttons das Javasript Dialog() aufgerufen werden.

Hinweis:
In der aufgerufenen Seite (also im Popup) sollte im Head folgender Tag platziert werden:

<base target=“_self”/>

Wenn der Tag fehlt, öffnet jeder Link und jeder Klick auf einen Button ein neues Browserfenster ausserhalb unseres modulen Popups.

JS :: Puristische Version eines Modalen Popup

html/js Kein Kommentar »

Hier mal die absolut puristische Möglichkeit ein modales Popup zu gestalten.

Das Javascript für das PopUp-Fenster (Dreamweaver):

<script language=”JavaScript”>
<!–
function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}
//–>
</script>

Der Link:

<a href=”javascript:void(0);” onClick=”MM_openBrWindow(‘fenster.htm’,'FensterName’, ’status=yes,scrollbars=yes,width=700,height=500′)”>LinkTitle</a>

Und jetzt in der fenster.htm:

<body onblur=”self.focus()”>

Sehr einfach, da jedes Mal, wenn das Fenster den Focus verliert, es sich selbst diesen wieder gibt. Somit bleibt das Fenster immer im Vordergrund…


11552 | 20081029