js中使用弹出窗体

在js中我们经常会用到弹出窗体的效果,普通的弹出窗体语法为: 
window.open("param1","param2","param3") 
param1: 要显示的网页地址 
param2:弹出窗体的句柄 
param3:弹出窗体的外观参数,具体如下:  
toolbar=yes,no 是否显示工具条 
location=yes,no 是否显示网址栏 
directories=yes,no 是否显示导航条 
status=yes,no 是否显示状态条 
menubar=yes,no 是否显示菜单 
scrollbars=yes,no 是否显示滚动条 
resizable=yes,no 是否可以改变公告窗口大小 
copyhistory=yes,no 是否显示历史按钮 
width=300 公告窗口的宽 
height=200 公告窗口的高 
left=100 公告窗口的左上顶点距屏幕左边100像素 
top=100 公告窗口的左上顶点距屏幕顶端100像素 

这种窗口是不具有最上层焦点的,即可以在不关闭该窗体的情况下点击其他窗体。有时我们需要的是具有始终焦点的窗体,如果不关闭该窗体就无法点击其他窗体。这时就需要使用模式窗体,具体语法如下: 

window.showModalDialog("param1","param2","param3") 

使用注意:刚开始使用时,我一直没有成功,最后发现问题出在参数位置上,如果你只需1、3参数时,也要保证第二个参数为空,用逗号占位,如:window.showModalDialog("param1","","param3"),还有,param3中的个具体参数之间要用分号分开,否则只有第一个参数起作用,后边的全部忽略,这不是你想要的吧! 

param1:与前者一样,为要显示页面的地址 
param2:要传递给弹出窗体的参数,这也是与普通弹出窗体不同的部分 
param3:弹出窗体外观参数,具体如下: 
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。 
scroll:{ yes | no | 1 | 0 | on | off }:指明对话框是否显示滚动条。默认为yes。 

对于param2的使用,要注意,这里可以传递一个引用值、变量甚至是窗体(window)给弹出窗体。在与父窗体进行交互时,可以使用传递的参数作为媒介。如: 

var m = document.getElementById( " url " ).value; 
window.showModalDialog( " test.aspx " ,m, " dialogHeight=200;dialogWeight=300 " ); 
在弹出的子窗体中可以用m来读取和设置父窗体中url控件的值。 

当传递参数为window时,就可以在子窗体中通过dialogArguments访问父窗体中的任何元素。如: 

dialogArguments.document.body.clientHieght;//取得父窗体的宽度 
dialogArguments.document.all.content.value;//父窗体中控件id为content的值 
window.dialogHeight;//弹出窗体的高度 
window.dialogWidth;//弹出窗体的宽度 

这样就有一个非常强大的好处,我们在弹出窗体中产生的结果,可以直接赋给父窗体中任何需要的地方。就不需要再考虑通过中间参数带回了。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
调用方法及参数说明<br>在页面引入ymPrompt.js。如:<script type="text/javascript" src="ymPrompt.js"></script> <br>在页面引入对应的皮肤文件的CSS,如:<link rel="stylesheet" type="text/css" href="skin/qq/ymPrompt.css" /> <br>根据您的需要调用相应的消息函数: <br>ymPrompt.alert(message,width,height,title,handler,maskAlphaColor,maskAlpha) //消息提示类型 <br>ymPrompt.succeedInfo(....) //成功信息类型 <br>ymPrompt.errorInfo(...) //错误信息类型 <br>ymPrompt.confirmInfo(....) //询问消息类型 <br>四个方法的参数个数及意义完全相同: <br>message:消息组件要显示的内容,默认为“内容”。 <br>width:消息框的宽度,默认为300。 <br>height:消息框的高度,默认为185。 <br>title:消息组件标题,默认为“标题” <br>handler:回调函数。当确定/取消/关闭按钮被点击时会触发该函数并传入点击的按钮标识。如ok代表确定,cancel代表取消,close代表关闭 <br>maskAlphaColor:遮罩的颜色,默认为黑色。 <br>maskAlpha:遮罩的透明度,默认为0.1。 <br>参数传入方式包含两种: <br>第一种即传统的参数传入,按照顺序传入相应的参数值即可,对于不需要设定的值请传入null。如ymPrompt.alert('内容',null,null,'标题') <br>第二种即JSON的传入方式,需要指定字段名。如ymPrompt({title:'标题',message:'内容'}) <br>其他说明:如果觉得“对象.方法”的调用方式比较麻烦,可以采用如下方式简化调用: <br>在调用之前设定var Alert=ymPrompt.alert。之后就可以使用Alert()的方式进行调用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值