等待 JavaScript 光标
我有一个 .jsp 页面,用户可以输入信息,然后使用保存按钮保存它。该应用程序可以运行,但由于按钮的单击事件正在运行 Java 代码,然后将保存的信息添加到 Oracle 数据库,因此需要一些时间才能完成保存。
我需要一种方法向用户显示等待光标,以便他们知道保存何时完成。但是,我不知道 .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),而不是网页。
I have a .jsp page that users can enter information and then save it with a save button. The application works, but because the click event of the button is running Java code, which then adds the saved information to an Oracle db, it takes a few moments before the save is complete.
I need a way to show the users a wait cursor so they will know when the save is complete. However, I can't figure out how the .jsp page will know when the Java code has completed.
Here is a snippet:
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';
}
}
This does not work. I guess the editform.submit();
happens asynchronously.
Please help.
EDIT: The target of editform
is a servlet.
EDIT: The servlet is a java page(HttpServlet), not a web page.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
在这种情况下,表单的提交将执行浏览器的默认操作,并且您的页面将被刷新,对吗?
如果您使用一个 ajax 调用而不是提交页面,您可以控制流程。
In this case, the submit of the form will perform the default of browser and your page will be refreshed, correct?
If you use one ajax call instead of submiting the page you can control the flow.
假设表单提交到的 servlet 与父页面位于同一域中,您可以
从 servlet 输出 javascript:,以便在 servlet 响应时将光标切换回默认值。
然后您可以从当前脚本中删除该行:
,因为您将让 servlet 处理将光标更改回来的情况。
Assuming the servlet that the form submits to is on the same domain as the parent page, you can output javascript:
from your servlet, to switch the cursor back to default when the servlet responds.
Then you can just remove the line:
From your current script, since you'll let the servlet handle changing the cursor back.