1、基本用法
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 -- 可选参数,类型:字符串。用来描述对话框的外观等信息,可以使用以下的一个或几个,用分号“;”隔开。
dialogHeight: 对话框高度,不小于100px
dialogWidth: 对话框宽度。
dialogLeft: 离屏幕左的距离。
dialogTop: 离屏幕上的距离。
center: { yes | no | 1 | 0 } : 是否居中,默认yes,但仍可以指定高度和宽度。
help: {yes | no | 1 | 0 }: 是否显示帮助按钮,默认yes。
resizable: {yes | no | 1 | 0 } [IE5+]: 是否可被改变大小。默认no。
status: {yes | no | 1 | 0 } [IE5+]: 是否显示状态栏。默认为yes[ Modeless]或no[Modal]。
scroll: { yes | no | 1 | 0 | on | off }:是否显示滚动条。默认为yes
2、页面传值
1)、向对话框传值:这个通过vArguments来完成。例如将name传到对话框
parent.htm
<script>
var obj = new Object();
obj.name="test";
var result = window.showModalDialog("modal.html",obj,"dialogWidth=200px;dialogHeight=100px");
alert(result[0] + "||" + result[1]);
</script>
modal.htm
<script>
var obj = window.dialogArguments
alert("您传递的参数为:" + obj.name)
var myArray = new Array(3);
myArray[0] = "aaa";
myArray[1]="bbb";
window.returnValue = myArray ;
</script>
2)、对话框向页面传值。这个是通过window.returnValue来实现的。上面就是将对话框中的一个数组传递给页面的
注意:1、对于传过来的值,最好在第一时间取得,以免以js中的其他对象发生冲突
2、对于传值,可以直接赋值用来传递.如可以直接写成 var name = "myTest";对话框可以直接使用alert(window.dialogArguments)来取得。
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 -- 可选参数,类型:字符串。用来描述对话框的外观等信息,可以使用以下的一个或几个,用分号“;”隔开。
dialogHeight: 对话框高度,不小于100px
dialogWidth: 对话框宽度。
dialogLeft: 离屏幕左的距离。
dialogTop: 离屏幕上的距离。
center: { yes | no | 1 | 0 } : 是否居中,默认yes,但仍可以指定高度和宽度。
help: {yes | no | 1 | 0 }: 是否显示帮助按钮,默认yes。
resizable: {yes | no | 1 | 0 } [IE5+]: 是否可被改变大小。默认no。
status: {yes | no | 1 | 0 } [IE5+]: 是否显示状态栏。默认为yes[ Modeless]或no[Modal]。
scroll: { yes | no | 1 | 0 | on | off }:是否显示滚动条。默认为yes
2、页面传值
1)、向对话框传值:这个通过vArguments来完成。例如将name传到对话框
parent.htm
<script>
var obj = new Object();
obj.name="test";
var result = window.showModalDialog("modal.html",obj,"dialogWidth=200px;dialogHeight=100px");
alert(result[0] + "||" + result[1]);
</script>
modal.htm
<script>
var obj = window.dialogArguments
alert("您传递的参数为:" + obj.name)
var myArray = new Array(3);
myArray[0] = "aaa";
myArray[1]="bbb";
window.returnValue = myArray ;
</script>
2)、对话框向页面传值。这个是通过window.returnValue来实现的。上面就是将对话框中的一个数组传递给页面的
注意:1、对于传过来的值,最好在第一时间取得,以免以js中的其他对象发生冲突
2、对于传值,可以直接赋值用来传递.如可以直接写成 var name = "myTest";对话框可以直接使用alert(window.dialogArguments)来取得。