模态窗口window.showModalDialog - TOMMYHU - 专注互联网开发及运营技术,提供相关资料及软件下载,奇趣网络时事评论!
Oct 13

模态窗口window.showModalDialog 不指定

tommyhu , 20:34 , ASP.NET , Comments(0) , Trackbacks(0) , Reads(3795) , Via Original Large | Medium | Small

应用场景:父窗口有一个导入excel的控件,点击打开子窗口,完成浏览及excel导入,检查,然后记住session,关闭子窗口,返回值给父窗口告诉导入成功,父窗口触发一个隐藏的button回发页面绑定导入的excel数据session到gridview

  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>
            


▲返回顶部
Last modified by tommyhu on2012/10/16 21:42

Add a comment

Nickname

emotemotemotemotemotemotemotemotemotemotemotemotemotemotemotemot