Jquery 如何禁用单击按钮,然后在此之后调用单击事件

Jquery 如何禁用单击按钮,然后在此之后调用单击事件,jquery,asp.net,Jquery,Asp.net,我有一个按钮,它正在数据库中执行一些插入操作 问题是当用户填写表单并多次单击按钮时,插入过程会执行多次 因此,我使用脚本禁用了按钮“OnClientClick”上的按钮,但它不执行服务器端单击事件 这是我的按钮: <asp:Button ID="btnContinue" runat="server" Text="Continue To Application >>" OnClick="btnContinue_Click" ValidationGroup="criteria" O

我有一个按钮,它正在数据库中执行一些插入操作

问题是当用户填写表单并多次单击按钮时,插入过程会执行多次

因此,我使用脚本禁用了按钮“OnClientClick”上的按钮,但它不执行服务器端单击事件

这是我的按钮:

<asp:Button ID="btnContinue" runat="server" Text="Continue To Application >>" OnClick="btnContinue_Click" ValidationGroup="criteria" OnClientClick="DiableButton(this)"></asp:Button>
函数,该函数启用在执行插入后从服务器端调用的函数

function EnableButton() {
   var btn = $("[Id$='hfDisableBtn']").val();
   $(btn).removeAttr("disabled");
   $("[Id$='hfDisableBtn']").val("");    
}
我想要的是

1) first disable button on click if all the validation satisfied (like Require filed validator)
2) then call the server side click event of that same button
3) enable that button after executing server side click event
我怎样才能做到这一点

请帮帮我
感谢是advance

这可以通过将asp:按钮替换为html按钮来实现,并在该按钮上单击创建对服务器功能的AJAX调用(需要标记为WebMethod),然后您可以完全按照自己的要求进行操作

1) first disable button on click if all the validation satisfied (like Require filed validator)
2) then call the server side click event of that same button
3) enable that button after executing server side click event

我不确定你的JS代码是否能像你期望的那样工作,但是如果函数能工作,那么它也应该工作

1) first disable button on click if all the validation satisfied (like Require filed validator)
2) then call the server side click event of that same button
您说过该函数可以工作,但不会启动服务器函数,所以在这里您只需添加
返回true

3) enable that button after executing server side click event
在服务器端函数中,添加此行以调用JS函数

ScriptManager.RegisterStartupScript(this, this.GetType(), "Funct", "EnableButton();", true);
此外,如果要存储按钮的ID以便在这两个功能中专门使用它,则可以将其保留如下:

function DiableButton(btn) {   
    $(btn).attr("disabled", "disabled");             
    return true;
}

function EnableButton() {
   var btn = $('#<%=btnContinue.ClientID %>').val();
   $(btn).removeAttr("disabled");  
}
功能暗黑按钮(btn){
$(btn).attr(“禁用”、“禁用”);
返回true;
}
函数启用按钮(){
var btn=$('#').val();
$(btn).removeAttr(“禁用”);
}
希望对你有所帮助,试试这个

 $('#btnContinue').prop('disabled', false); 
 $('#btnContinue').click();
 $('#btnContinue').prop('disabled', true);

显示验证…验证后,您可以触发按钮属性更改。我使用了asp.net验证,如“RequiredFieldValidator”和“RegularExpressionValidator”,您可以在我的按钮中看到,正如我使用ValidationGroup=“criteria”一样,所需的字段验证程序在调用服务器之前执行其工作,甚至在触发onclientclick函数之前,您也不必担心
 $('#btnContinue').prop('disabled', false); 
 $('#btnContinue').click();
 $('#btnContinue').prop('disabled', true);