模态对象框

本文详细介绍了如何使用window.showModalDialog方法创建模态对话框,包括参数设置、对话框外观定制及父子窗口间的数据传递技巧。
  今天测试群发电话本功能,用到模态对话框(就是弹出ie对话框后,必须关闭对话框才能操作浏览器其它页面)。贴出一些值得注意的地方,以后方便查阅。
  首先贴一个window.showModalDialog使用方法:
vReturnValue = window.showModalDialog(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。
参数传递方法:
父窗口向子窗口传递参数采用ShowModalDialog的第2个参数即可,父窗口要获取子窗口传回的参数则可通过ShowModalDialog函数的返回值获取。
子窗口获取父窗口参数的方法为采用子窗口window对象dialogArguments属性获取,例如:
var a=window.dialogArguments;
子窗口向父窗口返回参数采用window.returnValue属性,如:
window.returnValue=1;
window.close();

下面是我的例子:
启动showModalDialog流程:父frameset-->子frameset(右边框)
[b]父frameset的右边框调用子frameset代码如下:[/b]

//'phoneFrame.jsp'是子frameset 
window.showModalDialog('phoneFrame.jsp',self,'dialogWidth:640px;dialogHeight:480px;center:yes;help:no;resizable:yes;status:noscroll:no');



[b] 要返回值到调用父frameset的框里面。代码如下:[/b]

/*parent是返回到整个子frameset;
dialogArguments是window.showModalDialog句柄,这样就得到父frameset框架里面的调用showModalDialog的页面句柄。我这里开始调用showModalDialog的为父frameset框架的右边框架。
*/

parent.dialogArguments.document.getElementById("mobileText").value=**;



:arrow: [color=red](注意:window.showModalDialog('url',self,,),第二个参数必须为self;一般调用为window.dialogArguments)[/color]
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值