在SharePoint中,當在頁面上點擊Export to Excel按鈕後,第一次它能實現該功能,當再次點擊該按鈕時,頁面上的全部按鈕將失效,僅僅再次刷新該頁面時按鈕纔會有效,首先想到出現該問題確定是在導出以後沒有刷新該頁面纔會致使。javascript
爲了解決該問題,首先須要知道是什麼緣由致使,其實它是Moss的一個機制:在form 提交前,設置一個全局變量標識,防止重複提交,可是導出excel後的輸出爲二進制流,沒有刷新頁面,因此標識沒有被重置,其餘提交就被禁止了。java
解決方案:app
在查詢按鈕提交前設置:_spSuppressFormOnSubmitWrapper = true;ide
須要添加如下JS腳本,這裏有2種方式,僅僅添加其中一種就能實現:post
Script1:spa
1 <script type="text/javascript" language="javascript"> 2 3 //sharepoint postback to work after clicking on telerik export to pdf 4 5 if (typeof (_spBodyOnLoadFunctionNames) != 'undefined' && _spBodyOnLoadFunctionNames != null) { 6 7 _spBodyOnLoadFunctionNames.push("supressSubmitWraper"); 8 9 } 10 11 function supressSubmitWraper() { 12 13 _spSuppressFormOnSubmitWrapper = true; 14 15 } 16 17 </script>
Script2:excel
1 <script type="text/javascript"> 2 3 $('input[id*=ExportToExcelButton]').click(function () { 4 5 window.WebForm_OnSubmit = function () { return true; } 6 7 }); 8 9 </script>