2011-09-13 101 views
0

我有一个.jsp页面,用户可以输入信息,然后用保存按钮保存它。该应用程序可以正常工作,但由于按钮的单击事件正在运行Java代码,然后将保存的信息添加到Oracle数据库,因此在保存完成之前需要一些时间。等待光标为javascript

我需要一种方式来向用户显示等待光标,以便他们知道保存何时完成。但是,我无法弄清楚.jsp页面将如何知道Java代码何时完成。

这里是一个片段:

function updateTrans() { 
    document.body.style.cursor = 'wait'; 
    if (validateTrans()) { 
     if(editform.cbFg.checked) { 
     editform.Fg.value = "Y"; 
     } 
     else { 
     editform.Fg.value = "N"; 
     } 
     editform.myaction.value = "updateTrans"; 
     editform.submit(); 
     document.body.style.cursor = 'default'; 
    } 
    } 

这是行不通的。我猜editform.submit();异步发生。

请帮忙。

编辑:目标editform是一个servlet。 编辑:该servlet是一个Java页面(HttpServlet),而不是一个网页。

+0

你'editform'有目标吗?隐藏的iframe或其他东西? – Paulpro

+0

是的,它的目标是一个servlet – BladeHal

+0

好吧我更新了我的答案。我希望这是明确的 – Paulpro

回答

0

假设表单提交给servlet是在同一个域作为父页面,则可以输出的javascript:

<script type="text/javascript"> 
    parent.document.body.style.cursor = 'default';` 
</script> 

从你的servlet,切换光标返回到默认当servlet响应。

然后,你可以删除行:

document.body.style.cursor = 'default'; 

从当前的脚本,因为你让servlet的手柄改变光标回来。

+0

这样做。谢谢! – BladeHal

+0

@BladeHal不客气:) – Paulpro

2

在这种情况下,表单的提交将执行浏览器的默认设置,您的页面将被刷新,更正?

如果您使用一个ajax调用而不是提交页面,则可以控制流程。