2011-09-13 106 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調用而不是提交頁面,則可以控制流程。