我有一個HTML表單。提交後,它會創建一個Excel文件並將其返回。 在所有其他形式中,我有一個onSubmit
函數中顯示的加載屏幕,並隱藏在document.ready
函數中,但是當文件返回時,沒有document.ready
,因此我的加載屏幕不會隱藏。jQuery加載屏幕上的表單提交文件回覆
我試過帶回調函數的jQuery表單插件,但這樣我無法正常顯示其他表單上的響應頁面。帶回調的$.post()
函數也是如此。
我想要的只是在表單提交完成時調用我的loadingScreenHide
函數,並且正常情況下保留其餘部分。
任何想法?
謝謝。
代碼我tryed是這樣的: 與形式的插件回調函數(返回true;似乎沒有工作): $( '形式')給ajaxForm(函數(){activateDeactivateScreen( '隱藏');返回true; }); ('form')。attr('action'),$('form')。serialize(),function(){activateDeactivateScreen('hidden');返回true;});
2個主要問題是當我使用正常提交我沒有回調,當我得到一個回調,我不具備正常的提交/頁面加載
我也不得不改變我的Java服務器頁面中的想法保存文件和臨時重定向到一個下載,但這樣一來我就必須改變大約20-30 Java源代碼,所以我希望能有一個JavaScript的解決方案
您可以發佈您的代碼,以便我們可以看到您使用的過程。 – 2012-01-10 11:04:51
我假設您將表單數據發佈到PHP腳本或任何其他服務器端CGI。它處理你的數據並返回一個application/excel mimetype,它強制下載,因爲瀏覽器不能解析exel文件。所以你發送的實際頁面將不會改變。據我所見,你必須通過AJAX發送你的數據,並暫時將你的exel文件保存在你的服務器上,並返回一個指向你AJAX調用成功方法的鏈接。這個鏈接可以用'document.location = link;'打開,然後再次強制下載。 – buschtoens 2012-01-10 11:33:29
@silvinci:我從許多不同的頁面獲取這些excel文件(20-30個不同的servlet),所以更改java源文件將會是很多工作 – Georg 2012-01-10 12:29:09