我有启动和停止按钮 我用它来 在服务器上启动和停止窗口服务 当我点击开始按钮服务启动但是它需要一些时间来启动服务 在该时间跨度内意味着启动服务。 我必须在客户端禁用启动按钮, 同样禁用停止按钮。
当按钮被禁用时,我使用了下面的代码 btnStart禁用但Windows服务无法启动...
的javascript
function btnStartClick()
{
$("input[ID=btnStart]").attr("disabled", "disabled");
}
C#
protected void btnStart_Click(object sender,EventArgs e)
{
//service starst code here
}
标记
<asp:Button ID="btnStart" runat="server" Text="Start" OnClientClick="return btnStartClick();" OnClick="btnStart_Click" />
答案 0 :(得分:0)
为什么不使用'#'..而不是属性选择器...这比你使用的更快更有效
$('#<%= btnStart.ClientID %>').attr("disabled", "disabled");
答案 1 :(得分:0)
$('#<%= btnStart.ClientID %>').attr("disabled", "disabled");
答案 2 :(得分:0)
如果我理解你的话。
您可以将asp请求发送到您拥有服务启动逻辑和禁用按钮的asp页面,之后检查您的ajax响应,如果您的服务启动您启用按钮,如果没有显示消息或以任何其他方式处理它
如果您只询问如何使用jQuery禁用按钮,请查看 humpty dumpty 或 bipen 回答。
答案 3 :(得分:0)
您有几个选择:
$('#<%= btnStart.ClientID %>').prop("disabled", true);
使用ASP.NET选择OR:
$("input[id$=btnStart]").prop("disabled", true);
每个ID都以btnStart
结尾的输入,当您的控件不在范围内时,这些输入有时很有用。
正如另一条评论所指出的,一旦按钮被禁用,它可能不会触发代码隐藏onClick
,所以在这种情况下,最好隐藏/只读按钮而不是禁用它。
答案 4 :(得分:0)
他的问题不在于他不能禁用按钮,而是他希望他的OnClick
事件能够解雇。他的按钮点击事件不会为禁用按钮触发。
如果您尝试阻止以后的点击,可以隐藏该按钮,然后从代码隐藏中禁用它:
<script>
function btnStartClick() {
$("#<%= btnStart.ClientID %>").hide();
return true;
}
</script>
和代码背后:
protected void btnStart_Click(object sender, EventArgs e)
{
btnStart.Enabled = false;
//service starts code here
}
答案 5 :(得分:0)
感谢回复我得到了解决方案
<asp:Button ID="btnStart" runat="server" Text="Start" OnClientClick="this.disabled = true; this.value = 'Please Wait';"
UseSubmitBehavior="false" OnClick="btnStart_Click" />