posts - 108,comments - 56,trackbacks - 0
              1、基本知識 
          showModalDialog() (IE 4+ 支持)
          showModelessDialog() (IE 5+ 支持)
          window.showModalDialog()方法用來創建一個顯示HTML內容的模態對話框。
          window.showModelessDialog()方法用來創建一個顯示HTML內容的非模態對話框。


              2、使用方法
          vReturnValue=window.showModalDialog(sURL[,vArguments][,sFeatures]);
          vReturnValue=window.showModelessDialog(sURL[,vArguments][,sFeatures]);


              3、參數說明
           參數名稱  性質  類型  作用
           sURL  必選  字符串  用來指定對話框要顯示的網頁的URL。
           vArguments  可選  變體  用來向對話框傳遞參數。參數類型不限。
          對話框通過window.dialogArguments來取得傳遞進來的參數。
           sFeatures  可選  字符串  用來描述對話框的外觀等信息

              4、sFeatures參數說明
           參數名稱  參數屬性  說明
           dialogHeight  npx  對話框高度,不小于100px
           dialogWidth  npx  對話框寬度
           dialogLeft  npx  離主窗口左的距離
           dialogTop  npx  離主窗口上的距離
           center  {yes | no | 1 | 0 }  窗口是否居中,默認yes
           help  {yes | no | 1 | 0 }  是否顯示幫助按鈕,默認yes
           resizable  {yes | no | 1 | 0 }  是否可改變大小,默認no
           status  {yes | no | 1 | 0 }  是否顯示狀態欄,默認為yes[ Modeless]或no[Modal]
           dialogHide  { yes | no | 1 | 0 | on | off }  在打印或者打印預覽時對話框是否隱藏,默認為no
           scroll  { yes | no | 1 | 0 | on | off }  指明對話框是否顯示滾動條,默認為yes
           edge  { sunken | raised }  指明對話框的邊框樣式,默認為raised
           unadorned  { yes | no | 1 | 0 | on | off }  默認為no
           注意:dialogHide,edge,unadorned這三個屬性是用在HTA(HTML Aplication)中的,一般網頁上用不到。


              5、參數傳遞 通過vArguments來傳遞參數,類型不限制,對于字符串類型,最大為4096個字符,也可以傳遞對象,例如:
          parent.htm
          <script>
          window.showModalDialog("sun.htm","傳遞進去的參數","help:no;scroll:no");
          </script>
          sun.htm
          <script>
          alert("傳來的參數:" + window.dialogArguments);
          </script>


              6、返回值 通過window.returnValue向打開對話框的窗口返回信息,也可以是對象。例如:
          parent.htm
          <script>
          result=window.showModalDialog("son.htm","","help:no;scroll:no");
          alert(result);
          </script>
          son.htm
          <script>
          window.returnValue="這里存放返回的結果";
          </script>


              7、防止在模態窗口中提交后新開一窗口
             在頁面的 <body>前加入<base target="_self">

              8、調用父窗口的方法同時傳遞參數
          parent.htm
          <script>
          function show(){//父窗口的方法
           alert("show");
          }
          var arg=new Object();//傳遞進去的參數
          arg.win=window;//把當前窗口的引用當參數傳進去
          arg.str="argument";//要傳進去的其他參數
          window.showModalDialog("son.htm",arg,'help:no');
          </script>
          son.htm
          <script>
          var arg=window.dialogArguments;
          alert(arg.str);
          arg.win.show();//調用父窗口的方法
          </script>
          posted on 2007-07-07 08:01 破繭而出 閱讀(22792) 評論(7)  編輯  收藏 所屬分類: JavaScript

          FeedBack:
          # re: 模態窗口window.showModalDialog
          2009-10-16 16:50 | cenday
          不錯,清晰明了,我今天也在找showModalDialog之間傳遞參數和回調方面的東西,就找到這里來了  回復  更多評論
            
          # re: 模態窗口window.showModalDialog
          2009-10-16 16:51 | cenday
          @cenday
          ...  回復  更多評論
            
          # re: 模態窗口window.showModalDialog[未登錄]
          2010-10-22 11:12 | aaa
          不錯  回復  更多評論
            
          # re: 模態窗口window.showModalDialog
          2012-10-15 17:42 | kerenbing
          第七條 應該+head里  回復  更多評論
            
          # re: 模態窗口window.showModalDialog[未登錄]
          2012-11-20 12:18 | zzj
          @kerenbing
          +10086  回復  更多評論
            
          # re: 模態窗口window.showModalDialog[未登錄]
          2013-08-02 14:46 | dj
          dfgdfsdfgsdfg  回復  更多評論
            
          # re: 模態窗口window.showModalDialog[未登錄]
          2014-04-28 17:06 | 1
          1  回復  更多評論
            
          主站蜘蛛池模板: 资溪县| 临邑县| 海丰县| 南岸区| 手游| 孟连| 泰宁县| 蓬安县| 鄢陵县| 安图县| 霍州市| 辛集市| 靖边县| 镇赉县| 镇远县| 白城市| 错那县| 新密市| 云南省| 隆化县| 孟村| 新绛县| 上犹县| 周至县| 百色市| 南投县| 湘西| 临漳县| 大港区| 平湖市| 都昌县| 卢湾区| 滁州市| 铜陵市| 泰来县| 和林格尔县| 南川市| 项城市| 遵化市| 射洪县| 天峨县|