2014-08-29 63 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'); 
});