Java script 有许多内建的方法来产生对话框,如:window.alert(),
window.confirm(),window.prompt().等。 然而IE提供更多的方法支持对话框。如:
showModalDialog() (IE 4+ 支持)
showModelessDialog() (IE 5+ 支持)
window.showModalDialog()方法用来创建一个显示HTML内容的模态对话框,由于是对话框,因此它并没有一般用window.open()打开的窗口的所有属性。
window.showModelessDialog()方法用来创建一个显示HTML内容的非模态对话框。
当我们用showModelessDialog()打开窗口时,不必用window.close()去关闭它,当以非模态方式[IE5]打开时, 打开对话框的窗口仍可以进行其他的操作,即对话框不总是最上面的焦点,当打开它的窗口URL改变时,它自动关闭。而模态[IE4]方式的对话框始终有焦点(焦点不可移走,直到它关闭)。模态对话框和打开它的窗口相联系,因此我们打开另外的窗口时,他们的链接关系依然保存,并且隐藏在活动窗口的下面。
使用方法如下:
vReturnValue = window.showModalDialog(sURL [, vArguments] [, sFeatures])
vReturnValue = window.showModelessDialog(sURL [, vArguments] [, sFeatures])
参数说明:
sURL
必选参数,类型:字符串。用来指定对话框要显示的文档的URL。
vArguments
可选参数,类型:变体。用来向对话框传递参数。传递的参数类型不限,包括数组等。对话框通过window.dialogArguments来取得传递进来的参数。
sFeatures
可选参数,类型:字符串。用来描述对话框的外观等信息,可以使用以下的一个或几个,用分号“;”隔开。
dialogHeight 对话框高度,不小于100px,IE4中dialogHeight 和 dialogWidth 默认的单位是em,而IE5中是px,为方便其见,在定义modal方式的对话框时,用px做单位。
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。
还有几个属性是用在HTA中的,在一般的网页中一般不使用。
dialogHide:{ yes | no | 1 | 0 | on | off }:在打印或者打印预览时对话框是否隐藏。默认为no。
edge:{ sunken | raised }:指明对话框的边框样式。默认为raised。
unadorned:{ yes | no | 1 | 0 | on | off }:默认为no。
传入参数:
要想对话框传递参数,是通过vArguments来进行传递的。类型不限制,对于字符串类型,最大为4096个字符。也可以传递对象,例如:
test1.htm
====================
< script >
var mxh1 = new Array("mxh","net_lover","孟子E章")
var mxh2 = window.open("about:blank","window_mxh")
// 向对话框传递数组
window.showModalDialog("test2.htm",mxh1)
// 向对话框传递window对象
window.showModalDialog("test3.htm",mxh2)
</ script >
test2.htm
====================
< script >
var a = window.dialogArguments
alert("您传递的参数为:" + a)
</ script >
test3.htm
====================
< script >
var a = window.dialogArguments
alert("您传递的参数为window对象,名称:" + a.name)
</ script >
可以通过window.returnValue向打开对话框的窗口返回信息,当然也可以是对象。例如:
test4.htm
===================
< script >
var a = window.showModalDialog("test5.htm")
for(i=0;i<a.length;i++) alert(a[i])
</ script >
test5.htm
===================
< script >
function sendTo()
{
var a=new Array("a","b")
window.returnValue = a
window.close()
}
</ script >
<body>
<form>
<input value="返回" type=button onclick="sendTo()">
</form>
常见问题:
1,如何在模态对话框中进行提交而不新开窗口?
如果你 的 浏览器是IE5.5+,可以在对话框中使用带name属性的iframe,提交时可以制定target为该iframe的name。对于IE4+,你可以用高度为0的frame来作:例子,
test6.htm
===================
< script >
window.showModalDialog("test7.htm")
</ script >
test7.htm
===================
if(window.location.search) alert(window.location.search)
<frameset rows="0,*">
<frame src="about:blank">
<frame src="test8.htm">
</frameset>
test8.htm
===================
<form target="_self" method="get">
<input name=txt value="test">
<input type=submit>
</form>
< script >
if(window.location.search) alert(window.location.search)
</ script >
2,可以通过http://servername/virtualdirname/test.htm?name=mxh方式直接向对话框传递参数吗?
答案是不能。但在frame里是可以的。
分享到:
相关推荐
- 由于`window.dialogArguments` 的局限性,现代Web开发通常推荐使用`iframe`、`popstate`事件、`postMessage` API等技术来实现窗口间的数据交换和通信,这些方法具有更好的跨浏览器兼容性。 7. **总结** `window...
在本文中,我们将讨论在使用模式化窗口时遇到的问题及其解决方案,特别是与`window.dialogArguments`对象相关的兼容性问题。 1. 弹出窗口的方法: - `window.open()`是最常见的弹出窗口方式,可以自定义参数,如...
在JavaScript编程语言中,`Window.showModalDialog()`方法是一个非常重要的功能,主要用于打开一个模态对话框,即用户必须关闭对话框才能与父窗口进行交互。这个方法在创建用户交互和自定义弹出窗口场景中非常有用。...
在本合集中,我们将深入探讨`showDialog`的使用方法及其在页面间参数传递的应用。 首先,`window.showDialog`通常与JavaScript或Java的AJAX技术结合使用,因为它本身并不属于JSP标准库的一部分。在JavaScript中,`...
### window.showModalDialog 的基本用法 `window.showModalDialog` 是一个早期的浏览器功能,主要在 Internet Explorer(IE)4.0 及以上版本中支持。它用于打开一个新的模态对话框窗口,并且该窗口将阻止用户与主...
这些数据可以通过对话框窗口中的 `window.dialogArguments` 属性获取。 - **sFeatures**: 可选参数,设置对话框的一些特性,如大小、位置等。 #### 三、sFeatures详解 - **dialogHeight**: 设置对话框的高度,单位...
下面我们将详细探讨`window.showModalDialog`的使用及其相关知识点。 首先,`window.showModalDialog`的基本语法如下: ```javascript var returnValue = window.showModalDialog(url, [dialogArguments], ...
本文将重点介绍模态对话框的使用方法`window.showModalDialog()`。 模态对话框是一种阻止用户与网页其他部分互动,直到关闭对话框为止的交互方式。`window.showModalDialog()`是Internet Explorer 4及更高版本支持...
基本使用方法如下: ```javascript vReturnValue = window.showModalDialog(sURL [, vArguments] [, sFeatures]) ``` - `sURL`:与`window.open`一样,用于指定对话框显示的HTML内容的URL。 - `vArguments`:可选...
因系统要兼容原IE已使用的关闭方法,经调试测得,需对window.dialogArguments进行再较验,不然易出问题。 function OKEnd(vals) { if (vals == null) vals = TRUE; if (typeof (window.opener) == undefined) { ...
在子页面中,可以使用`window.dialogArguments`访问这些参数: ```javascript var param1 = window.dialogArguments.param1; var param2 = window.dialogArguments.param2; ``` 同时,`showModalDialog`和`...
- `vArguments`是可选参数,可以向打开的窗口传递数据,这些数据可以通过`window.dialogArguments`在子窗口中获取。 - `sFeatures`是可选参数,用于定义弹出窗口的特征,如宽度、高度、是否显示滚动条等。 **特点:...
本文旨在详细介绍`dialogArguments`的使用方法、应用场景以及与之相关的技术细节,帮助开发者更好地理解和运用这一特性。 #### `dialogArguments`属性简介 `dialogArguments`属性主要用于传递参数给由`window....
下面我们将详细讨论`window.showModalDialog`的用法及其与`parent.jsp`页面的关系。 `window.showModalDialog`的主要作用是打开一个新的浏览器窗口,这个窗口会阻止用户与当前窗口的交互,直到新窗口被关闭。它的...
### Window.ShowModalDialog 使用手册详解 #### 一、概述 `Window.ShowModalDialog` 是一个在 Internet Explorer 浏览器中特有的方法,用于创建模态对话框。此方法允许开发者在一个新的窗口中打开一个HTML页面,...
" 指的是在JavaScript中使用`window.showModalDialog()`方法打开一个模态对话框。这个方法在Web开发中用于创建阻塞用户界面,直到对话框被关闭,用户无法与页面的其他部分交互。在给出的示例中,`d.html`是被打开的...