2016-01-21 72 views
0

我正在使用Struts2 Java應用程序和jQuery網格(在jsp中),我有(在網格的標題部分)有一個按鈕,用於導出由網格轉換成excel文件。 所以我在JSP中使用腳本添加了這個按鈕。所以我需要的是禁用按鈕,並在struts操作完成時重新啓用它。 你們會怎麼做? 這裏是我用來添加按鈕的代碼(謝謝你提醒我這一點:d)使用Javascript + Struts2啓用/停用按鈕

var $btnExcel = $('#gview_resultGrid > div > #btnExcel'); 
    if(!$btnExcel.length) { 
     var $a = $('#gview_resultGrid > div > a'); 
     var $newA = $a.clone(); 

     $newA.attr('style', 'right: 25px; padding-top: 2px;'); 
     $newA.attr('id', 'btnExcel'); 
     $newA.children("span").remove(); 
     $newA.append($('<input id="searchForm_exportExcel" type="image" onclick="exportExcelFunc();" src="/project/img/page_white_excel.png" title="<s:text name="project.message.js.button.excelExtraction"/>"/>')); 
     $newA.insertAfter($a); 
    } 
} 

// export excel 
function exportExcelFunc() { 
    $("#searchForm").attr("action", "exportExcel.action"); 
    $("#searchForm").submit(); 
} 
+0

嗨,沒有任何代碼,這將是很難幫助你;) – Yoplaboom

+0

對此深感抱歉,我忘了補充它謝謝你提醒我:) –

回答

0

您必須提交您的形式AJAX得到迴應。 提交之前,請將您的按鈕設置爲禁用。 獲得響應後,可啓動按鈕。

這是這樣的:

var formData = $("#myForm").serialize(); //get all data from form 

//disable button 
$('#gview_resultGrid > div > #btnExcel').prop('disabled', true); 

//do the POST thingies 
$.ajax({ 
    type: "POST", 
    url: "url_to_your_struts2_action", 
    cache: false, 
    data: formData, 
    success: function(response){ 
     //do some success stuff... 
     //enable button 
     $('#gview_resultGrid > div > #btnExcel').prop('disabled', false); 
    }, 
    error: function(error){ 
     //do some errorstuff... 
     //enable button 
     $('#gview_resultGrid > div > #btnExcel').prop('disabled', false); 
    } 
}); 
+0

不幸的是,當使用這個我沒有任何文件下載..也許這是由於我沒有迴應使用這個事實? –