js有showModalDialog来生成模式窗口,但是却不能符合的要求,我要做一个模版推送的功能,在推送页面点击刷新按钮,然后调用一个表单,表单中运行推送代理,并且将代理的一些信息显示出来,比如开始的时候显示“正在运行,请稍后。。。。”,但是用showModalDialog来打开表单,代理返回的信息会自动调用一个新网页,然后输出在新网页后,这个不符合我的要求,我决定自己写实现我要的功能。
1. 首先我要在表单A中调用表单B
childwindow=window.open(表单B,'','status=no,resizable=no,scrollbars=yes,left=300,top=200,width=800,height=600');
document.forms[0].all.item("toolbar").style.display='none';
document.forms[0].all.item("untoolbar").style.display=''
设计两个div,一个为可用的,一个为不可用的
<div id="toolbar" style="display:"> 可用的div,每一个按钮都有一个事件,可以点击调用
离开
| 保存
| 编辑
| 刷新设计
</div>
<div id="untoolbar" style="display:none"> ‘不可用div,按钮为灰色状态
离开
| 保存
| 编辑
| 刷新设计
</div>
2. 表单A的onmourseover事件中//制造模式子窗口
//制造模式子窗口
if (childwindow && !childwindow.closed)
{
childwindow.focus();}
else
{
document.forms[0].all.item("toolbar").style.display='';
document.forms[0].all.item("untoolbar").style.display='none';
}
很简单吧,我们来看一下效果吧
1. 开始这些按钮是可用的
2.点击刷新设计后,弹出一个页面表单B,提示正在刷新设计,表单A的按钮变成了不可用状态,过了一会,代理也执行完成,在表单B上提示代理执行情况。
3. 每次点表单A,表单B都会自动跳出来,有点像showModalDialog打开的模式窗口。表单B关闭后,表单A恢复正常。