DevTrain .NET Developers Home. Das Community Portal für ASP.NET, Visual Basic, C#
 
  Login Status: Hallo   Anmelden  Suche:  
Navigationslinks überspringen
Startseite
Artikel
Blogs
Foren
ClubClub erweitern

 
Ihre Optionen
Save
Mail
Print
Rate
 
Advertising
  Advanced Developers Track vom 24.-25. Februar 2010 im ehem. IMAX München

 
Navigationslinks überspringen
Autor:Bernhard Elbl

ShowModalDialog - Argumente zwischen HTML-Seiten austauschen

Heute will ich ein reines Internet-Explorer-Feature vorstellen, den ModalDialog oder ModlessDialog.
Mit diesen können Sie beliebige Werte von einer HTML-Seite zu einer anderen übergeben. Außerdem können Sie Parameter der Dialog-Seite wieder an die Main-Seite zurückgeben, ohne einen Reload der Seite durchführen zu müssen!

Was brauchen wir dafür?
HTML und ein bischen Javascript (und den Internet Explorer)

Was passiert?
Die Seite "main.htm" öffnet die Seite "dialog.htm" und übergibt Ihr Argumente(hier aus einer Textbox).
Die "dialog.htm" legt den Rückgabe-Wert fest: window.returnValue=... und schliesst das Fenster wieder: window.close

Der Code für die "main.htm"

<HTML>
<HEAD>
</HEAD>
<BODY>
<form name="frmMain">
 <INPUT type="text" name="txtInput"><br>
 <TEXTAREA rows=2 cols=20 id=textarea1 name=textarea1 disabled>
 
 </TEXTAREA>
 <INPUT type="button" value="Insert" id="btnInsert" name="btnInsert" onclick="callDialog();">
</form>


</BODY>
</HTML>
<SCRIPT LANGUAGE=javascript>
<!--
 function callDialog()
 {
  var sInput=document.frmMain.txtInput.value;
  varsetting='dialogHeight:=100px;dialogWidth:=150px;dialogTop:=300px;dialogLeft:=300px';
  var rValue=showModalDialog('dialog.htm',sInput,setting);
  document.frmMain.textarea1.value=rValue;
 }
//-->
</SCRIPT>


Values aus der Form werden dem Dialog übergeben. Mit der Var "setting" werden Dialog-Eigenschaften gesetzt.

und hier die Dialog.htm:

<HTML>
<HEAD>
</HEAD>
<BODY>
Der Wert "
<SCRIPT LANGUAGE=javascript>
<!--
 document.writeln(window.dialogArguments);
//-->
</SCRIPT>
" wurde übergeben..

<form name="frmDialog">
<INPUT type="text" id="txtWert" name="txtWert">
<INPUT type="button" value="OK" id="btnOK" name="btnOK" onclick="OKclick();">
</form>
</BODY>
</HTML>
<SCRIPT LANGUAGE=javascript>
<!--
 function OKclick()
 {
  window.returnValue=document.frmDialog.txtWert.value;
  window.close();
 }
//-->
</SCRIPT>


window.dialogArguments = die übergebenen Werte
window.returnValue = der Rückgabewert an die main-Site

Modal oder Modless?
Modal heisst gebunden. Also können Sie beim Öffnen eines modalen Dialog nicht zwischen beiden Seiten welchseln. Die Main-Site ist erst nach schliessen des Dialog wieder verfügbar.

Weitere Resourcen im Internet:
http://msdn.microsoft.com/library/default.asp?url=/workshop/author/dhtml/reference/methods/showmodaldialog.asp

 

 


Diskutieren Sie in den Foren

Advanced Developers Track vom 24.-25. Februar 2010 im ehem. IMAX München