请问,如何用jsp将按钮点击后弹出提示对话框,然后延时一定时间后就自动关闭,先谢谢大家。。。
[b]问题补充:[/b]
麻烦大家我想要把问题再补充一下,,,如果我所需要的是等待一个参数,得到这个参数后再关闭窗口,因为是在给servlet传参数(传递参数后程序执行),如果参数传递后执行完成,则将窗口关闭(即再将窗口反传给最先传递参数的窗口),那么应该怎样能够实现呢?
那就用window.showModalDialog()方法吧.
大概讲一下:
[code="js"]
//创建了一个由dialog的内容组成的模式对话框.
//对话框出现之后,当前线程就完全交由出现的模式对话框进行处理.直到窗口关闭.并返回returnValue;
var value= window.showModalDialog("dialog.htm");
[/code]
在dialog.htm中的代码大概如下:
[code="js"]
//注为了代码简单,我这里的第三个参数,是false,采用同步传输
xmlHttp.open("POST","getData.jsp",false);
xmlHttp.send();
//将窗体返回值设置为响应的返回文本
window.returnValue=xmlHttp.responseText;
xmlHttp.close();
//关闭窗口.会自动返回returnValue所指定的值
window.close();
[/code]
这样,在前面代码中的value变量,就会得到xmlHttp.responseText值.
关于window.showModalDialog()更详细的用法,楼主可以到网上搜索一下.我这里就不一一阐述了.
在onload事件里执行这个函数就可以
setTimeout(self.close(), 3000)
可以用层来模拟对话框.
[code="js"]function showDialog(){
var dialog=document.createElement("div");
dialog.id="myDialog";
dialog.innerHTML="登录成功.正在跳转...";
//设置层显示的样式
dialog.style.position="absolute";
...
...
//设置五秒钟后自动关闭.
setTimeout("document.getElementById('myDialog').dislay='none'","5000");
另外一种方法就是使用窗体来模拟对话框
[code="js"]function showDialog(){
//打开一个新窗体
window.open("dialog.htm","_blank","height=100, width=400,top=0,left=0,toolbar=no,menubar=no,scrollbars=no,resizable=no,location=no,status=no");
}[/code]
dialog.htm中包含如下代码:
[code="html"]<br> window.onload=function(){<br> //五秒钟后窗体自动关闭<br> window.setTimeout("window.close()","5000");<br> }<br> [/code]---------------------------------------------
还有一种方式实现对话框效果很不错.就是window.showModalDialog()方法.不过只有IE支持.所以这里就不写了.