2014-08-29 62 views
-1

我有一個ASPxButton從不同格式的網頁導出一些數據。有一個下拉(組合框)導出格式列表。選擇格式後,頁面必須重新加載。如果在完全重新加載頁面之前單擊該按鈕,則會出現問題,因此我希望禁用單擊該按鈕的功能,直到頁面完全加載。禁用ASP.Net按鈕點擊,直到頁面加載後

我該如何做到這一點與jQuery?

回答

3

在HTML中設置按鈕的禁用屬性,然後在DOM準備就緒時,在您的jQuery中啓用它(通過刪除disabled屬性)。

HTML:

<button id="foo" disabled="disabled">Click Me!</button> 

JS:

$(function() { 
    $("#foo").removeAttr("disabled"); 
}); 
+0

這是一個ASPxButton不是一個HTML按鈕。我嘗試了你的建議,但是看起來ASPxButton的Enabled =「False」屬性重寫了jquery。 – brno792 2014-08-29 21:57:43

+0

所以在那種情況下,你可以設置Enabled =「False」,準備好後用jQuery將它設置爲True? '''$(「#foo」)。attr(「Enabled」,True);''' – scald 2014-08-31 21:51:52

+0

我試過了,它也不起作用。 jQuery正在更新客戶端的屬性,但實際上並沒有改變.Net代碼。因此,Enabled屬性仍然設置爲False。 – brno792 2014-09-02 17:02:25

0

最初保持禁用按鈕,並啓用後document已準備就緒。當更改組合框/下拉列表時,使用.on()change as event。喜歡這個。

HTML

<button id="btn" disabled="disabled">Export</button> 

JS

//Enabled after document is ready 
$(document).ready(function(){ 
    $('#btn').removeAttr('disabled'); 
}); 
//Disabled when dropdownlist is changed 
$(document).on('change', 'combobox #id or .class', function(event) { 
    $('#btn').attr('disabled', 'disabled'); 
});