window.showModalDialog()方法用來創建一個顯示HTML內容的模態對話框。?
window.showModelessDialog()方法用來創建一個顯示HTML內容的非模態對話框。?
使用方法:
vReturnValue = window.showModalDialog(sURL [, vArguments] [,sFeatures])?
vReturnValue = window.showModelessDialog(sURL [, vArguments] [,sFeatures])?
參數說明:?
sURL--必選參數,類型:字符串。用來指定對話框要顯示的文檔的URL。?
vArguments--可選參數,類型:變體。用來向對話框傳遞參數。傳遞的參數類型不限,包括數組等。對話框通過window.dialogArguments來取得傳遞進來的參數。?
sFeatures-- 可選參數,類型:字符串。用來描述對話框的外觀等信息,可以使用以下的一個或幾個,用分號“;”隔開。?
1.dialogHeight :對話框高度,不小于100px,IE4中dialogHeight 和 dialogWidth 默認的單位是em,而IE5以上是px,為方便其見,在定義modal方式的對話框時,用px做單位。?
2.dialogWidth: 對話框寬度。?
3.dialogLeft: 離屏幕左的距離。?
4.dialogTop: 離屏幕上的距離。?
5.center: {yes | no | 1 | 0 }:窗口是否居中,默認yes,但仍可以指定高度和寬度。?
6.help: {yes | no | 1 | 0 }:是否顯示幫助按鈕,默認yes。?
7.resizable: {yes | no | 1 | 0 } 〔IE5+〕:是否可被改變大小。默認no。?
8.status: {yes | no | 1 | 0 } 〔IE5+〕:是否顯示狀態欄。默認為yes[ Modeless]或no[Modal]。?
9.scroll:{ yes | no | 1 | 0 | on | off }:指明對話框是否顯示滾動條。默認為yes。?
下面幾個屬性是用在HTA中的,在一般的網頁中一般不使用。?
10.dialogHide:{ yes | no | 1 | 0 | on | off }:在打印或者打印預覽時對話框是否隱藏。默認為no。?
11.edge:{ sunken | raised }:指明對話框的邊框樣式。默認為raised。?
12.unadorned:{ yes | no | 1 | 0 | on | off }:默認為no。?
參數傳遞:?
1.要想對話框傳遞參數,是通過vArguments來進行傳遞的。類型不限制,對于字符串類型,最大為4096個字符。也可以傳遞對象,例如:?
-------------------------------?
parent.htm
<script>?
var obj = new Object();?
obj.name="i5tt";?
window.showModalDialog("modal.htm",obj,"dialogWidth=200px;dialogHeight=100px");?
</script>
modal.htm?
<script>?
var obj = window.dialogArguments?
alert("您傳遞的參數為:" + obj.name)?
</script>?
-------------------------------?
2.可以通過window.returnValue向打開對話框的窗口返回信息,當然也可以是對象。例如:?
------------------------------?
parent.htm
<script>?
str =window.showModalDialog("modal.htm",,"dialogWidth=200px;dialogHeight=100px");?
alert(str);?
</script>
modal.htm?
<script>?
window.returnValue="http://www.i5tt.com/";?
</script>
將參數傳遞與返回結果結合在一起的實例
ParentPage.aspx
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
??? <title></title>
??? <script language="javascript" type="text/javascript">
??????? function openwindow() {
??????????? var obj = new Object();
??????????? obj.value = "3";
??????????? obj.name = "4";
??????????? obj.sew = "5";
??????????? str =window.showModalDialog("ChildPage.aspx",obj,"dialogWidth=200px;dialogHeight=100px");
??????????? alert(str);
??????? }
??????? function openModelessDialog() {
??????????? var obj = new Object();
??????????? obj.value = "3";
??????????? obj.name = "4";
??????????? obj.sew = "5";
??????????? str = window.showModelessDialog("ChildPage.aspx", obj, "dialogWidth=200px;dialogHeight=100px");
??????????? alert(str);
??????? }
??? </script>
</head>
<body>
??? <form id="form1" runat="server">
??? <div>
??? <input type="button" id="btnOpen" value="打開模態窗口" οnclick="openwindow();" />
??? <input type="button" id="Button1" value="打開非模態窗口" οnclick="openModelessDialog();" />
??? </div>
??? </form>
</body>
</html>
ChildPage.aspx
- <html xmlns="http://www.w3.org/1999/xhtml"><head runat="server">
??? <title></title>
??? <script language="javascript" type="text/javascript">
??????? function getArguments() {
??????????? var obj = window.dialogArguments
??????????? alert("您傳遞的參數為:" + obj.value)
??????? }
?
?
??????? function windowclose() {
??????????? window.returnValue = "childPage.Close";
??????? }
??? </script>
</head>
<body οnunlοad="windowclose();">
??? <form id="form1" runat="server">
??? <div>
??? <input type="button" id="btnOpen" value="打開窗口" οnclick="getArguments();" />
??? <input type="button" id="btnClose" value="關閉窗口" οnclick='self.close(); ' />
??? </div>
??? </form>
</body>
</html>