在执行后面的代码之前,JQuery禁用了我的按钮

时间:2012-08-20 21:05:16

标签: jquery asp.net imagebutton

我有一个带有imageButton的Asp.net(Ver4)网页,用于通过图像按钮点击事件后面的代码将表单数据提交到数据库。在后面的代码我使用response.redirect将它们移动到感谢页面,它是代码隐藏例程中的最后一行。 由于DB有点慢,有时我想禁用click事件,直到页面被重定向。我试图用jquery做这个。我已经能够禁用该按钮并使其显示为禁用,但后面的代码完全没有触发。

这是我正在使用的JQuery

function test() {
    $("#ImageButton1").attr("disabled", "disabled").css('opacity',' 0.5');
}

这是按钮的

的aspx代码
<div class="button">
      <asp:ImageButton ID="ImageButton1" runat="server" Height="28px"
           OnClientClick="test();"
           onclick="ImageButton1_Click" 
           ImageUrl="media/finishbutton.jpg" 
           style="margin-top: 0px" Width="97px" />
</div>

4 个答案:

答案 0 :(得分:2)

最简单的解决方案是在触发click事件后稍稍禁用该元素。例如:

 function test() {
    setTimeout(function () { $("#<%=ImageButton1.ClientID %>").attr("disabled", "disabled").css('opacity', ' 0.5'); }, 10);
}

答案 1 :(得分:1)

试试这个:

 function test() {
$("#<%=ImageButton1.ClientID%>").attr("disabled", "disabled").css('opacity',' 0.5');
//$("#ImageButton1").css('opacity', ' 0.5');

}

和aspx

 <div class="button">
          <asp:ImageButton ID="ImageButton1" runat="server" Height="28px" OnClientClick="javascript:test();"
              onclick="ImageButton1_Click" 
              ImageUrl="media/finishbutton.jpg" style="margin-top: 0px" Width="97px" />
        </div>

答案 2 :(得分:0)

尝试在return true;功能

的末尾添加test()

答案 3 :(得分:0)

您可以添加beforeAsyncPostBack并禁用那里的按钮,如here所述,或者只是从点击处理程序返回true。此外,您可能希望使用clientID来禁用按钮,而不仅仅是元素ID,这是服务器理解的内容。