js showModalDialog弹出窗口实例详解

时间:2021-05-26

showModalDialog:模式窗口, 一种很特别的窗口,当它打开时,后面的父窗口的活动会停止,除非当前的模式子窗口关闭了, 才能操作父窗口.在做网页Ajax开发时,我们应该有时会用到它来实现表单的填写, 或做类似网上答题的窗口. 它的特点是,传参很方便也很强大,可直接调用父窗口的变量和方法.

使用方法:
vReturnValue = window.showModalDialog(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。

FOR example:
parent.html
复制代码 代码如下:
<script>
function setname(res){
document.getElementByIdx_x("name").value=res;
}
function selectTp(){
//把父窗口的setname函数传给子窗口window.showModalDialog('child.html',setname,'dialogWitdh:300px;dialogHeight:300px;center:yes;');
}
</script>
<input type="button" value="提交" onclick="selectTp()"/>

<input type="text" id="name" name='name'/>

child.html

<SCRIPT LANGUAGE="JavaScript">
<!--
function setName(){
var win="";
if(window.dialogArguments!=null)
{
//子窗口获取父窗口的setname函数,并操作赋值
win=window.dialogArguments;
win('Jone');
}

this.close();

}

//-->
</SCRIPT>
<input type="button" value="给父窗口赋值" onclick="setName()"/>

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章