ShowModalDialog打開字窗體

Window.ShowModalDialog的參數問題(父窗體向子窗體傳值)

基本介紹:
      showModalDialog()                     (IE 4+ 支持)
      showModelessDialog()                 (IE 5+ 支持)
      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
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="51js";
      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://homepage.yesky.com";
</script>

用window.showModalDialog 或者window.showModelessDialog打開一個模式窗口後,和父窗口的一些交互問題。
要進行交互操作的前提,在調用showModalDialog或者showModelessDialog方法的時候,第二個參數傳window,如:


window.showModelessDialog('filename.htm',window,'dialogWidth=200px;dialogHeight=250px;')



接下來,就是取得父窗口的一些數據和方法,這是經常會用的,父窗口取子窗口的參數一般通過returnValue就可以搞定了~


//取得父窗口的JS變量 var
window.dialogArguments.var;
//獲得父窗口的對象和屬性
window.dialogArguments.form1.name.value ;
//調用父窗口的方法 fun
window.dialogArguments.fun() ;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章