日期:2014-05-18  浏览次数:20869 次

请教关于"正在处理.."页面的问题
请教大家,现在要作这样的东西
a.jsp
....
<form   name= 'form1 '   method= 'post '   action= 'b.jsp '   target= 'testFrame '>
    <input   name= 'submit '   type= 'submit '   value= 'submit '/>
</form>
<iframe   name= 'testFrame '   width= '400 '   height= '200 '   src= 'b.jsp '/>
...
b.jsp要执行一个费时的操作,或者a.jsp要向b.jsp传送大量数据,b进行比较费时的处理,这样的话每次提交a.jsp,iframe都要长时间显示空白,想在这段时间内让iframe内显示一个 "正在处理。。 "的界面,当b.jsp处理完后显示b.jsp的内容,应该怎么处理呢?

------解决方案--------------------
a.jsp
....
<form name= 'form1 ' method= 'post ' action= 'c.jsp ' target= 'testFrame '>
<input name= 'param1 ' type= 'hidden ' value= '... '/>
<input name= 'param2 ' type= 'hidden ' value= '... '/>
.......
<input name= 'submit ' type= 'submit ' value= 'submit '/>
</form>

c.jsp:
<META http-equiv= "Refresh " content= "1;url=b.jsp?param1&param2..... ">

b.jsp
.........
------解决方案--------------------
<%@page pageEncoding= "GBK " contentType= "text/html; charset=GBK " %>
<html>
<head>
<meta http-equiv= "Content-Type " content= "text/html; charset=GBK "/>
<title> </title>
</head>
<script>
function showUnreadMail() {
document.getElementById( 't1 ').style.display= "block ";
document.getElementById( 't2 ').style.display= "none ";
document.all.form1.submit();
}
</script>
<body>
<form action= "brige.jsp " method= "post " name= "form1 ">
<table id=t2>
<tr>
<td>
<input type= "text " name= "username " value= " "/>
<input type= "button " value= "提交 " onclick= "showUnreadMail(); ">
</td>
</tr>
</table>
<table align= 'center ' id= 't1 ' style= 'display:none; ' width= "93% " height= "150 " border=1 cellpadding=1 cellspacing=1 bordercolor= "#eeeeee " background= "/images/yu-6.gif ">
<tr>
<td align= 'center '>

<div align= 'center '>
<img src= "image/indicator.gif "/> //这个地方可以是文字,比如正在处理!也可是图片!比如loading中!
</div>

</td>
</tr>
</table>
</form>

</body>
</html>
大体就是这样!你改改应该可以的!
------解决方案--------------------
action中没办法搞,只能在提交的那个页面做一下效果。


注:ajax实现这种效果最直观了,比如说163的邮箱,效果很好吧
------解决方案--------------------
我也只想到用AJAX来实现这种效果