2013-01-03 95 views
2

我正在使用struts2.構建一個web應用程序我有一個表單用戶單擊提交按鈕,我正在處理表單並重定向回到同一個jsp頁面。 我想添加加載圖片,以便用戶可以理解正在處理的請求。 我試圖通過在表單標記結束後編寫腳本並在表單內添加圖像但是無法在提交表單時正確添加圖像。 我沒有使用jquery,所以$.load()對我無用。 請任何人都可以幫助我。顯示下載圖像

在此先感謝

<script type="text/javascript"> 
    (function(d) { 
     alert("in"); 
     d.getElementById('loginform').onsubmit = function() { 
      alert("on submit"); 
      d.getElementById('submit').style.display = 'block'; 
      d.getElementById('loading2').style.display = 'block'; 
     }; 
    }(document)); 
</script> 
+2

顯示您的代碼。 –

+1

當你的表單正在處理中,你正在重新加載頁面,在這種情況下,除非你通過ajax處理你的表單,否則任何使用javascript預表單提交都將被忽略。 – Pete

回答

0

我發現了一個工作,看到加載圖像。在這裏發帖讓其他人可以受益。
我帶了一個gif圖像,並將其添加到div標籤內,並將css屬性顯示爲塊。

<div id="loading" style="position:absolute; width:100%; text-align:center; top:200px"> 
<img src = "images/loading.gif" width="70px" height="70px"/> </div> 

然後我寫了一個javascript函數,我在事件onload上調用。在此函數中我將display屬性設置爲none。

function stopLoading() 
    { 
    document.getElementById('loading').style.display='none'; 
    } 

在我的情況下,我設置顯示塊,當我發送任何服務器請求並加載設置回顯示無。
希望這對他人有幫助。

1

如果其重定向 - 這意味着你要發送的內容到服務器並返回回,在理想情況下意味着在提交頁面的當前生命週期中發佈的信息和新的後結束循環在返回時開始。

執行此操作的一種方法是在從服務器執行任何代碼業務之前刷新加載映像。

在.NET中,我們有兩個語句做到這一點:

Response.Write("your loading image in html format"); 
Response.Flush(); 

因此,即使之前的全部內容被裝回瀏覽器,它的一部分被髮送到客戶端。

+0

謝謝Chandra Sekhar Walajapet .....需要檢查它是如何進行的映射到javascript –

+0

你需要檢查如何使用struts來完成,因爲我給出的代碼與javascript,它的服務器端代碼無關。 –

+0

但在頁面加載你需要關閉加載圖片.. ?? – Pranav