未标明原创的文章皆为转载~

web模态窗口window.showModalDialog简介

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>

相关

    1 刷新子窗体

把子窗体放进iframe,即:   

showmodaldialog("test.htm","","")

test.htm如下:

<iframe src="真实页面.htm"></iframe>

posted @ 2009-01-06 23:23  CodeYu  阅读(434)  评论(0编辑  收藏  举报