为ASP.Net中的多次单击问题禁用多个按钮

本文关键字:问题 按钮 单击 ASP Net | 更新日期: 2023-09-27 18:19:41

我有两个按钮

<asp:Button ID="btnSubmit1" Text="Submit"  runat="server"  OnClick="btnSubmit1_Click" OnClientClick="return Validation();" />
<asp:Button ID="btnSubmit2" Text="Submit"  runat="server"  OnClick="btnSubmit2_Click" OnClientClick="return Validation();" />

在页面加载上,如果点击(针对多次点击问题),我将禁用这2个

btnsubmit1.OnClientClick = ClientScript.GetPostBackEventReference(btnsubmit1, "") + "; this.value='Processing...';this.disabled = true;";
btnsubmit2.OnClientClick = ClientScript.GetPostBackEventReference(btnSubmit2, "") + "; this.value='Processing...';this.disabled = true;";

现在我想禁用这两个按钮,即使我点击了一个按钮。我该如何做到这一点?

为ASP.Net中的多次单击问题禁用多个按钮

客户端:

<script type="text/javascript">
function disableButtons() {
 var btn1 = document.getElementById("<%=btnSubmit1.ClientID%>");
 var btn2 = document.getElementByID("<%=btnSubmit2.ClientID%>");
 btn1.disabled = true; btn2.disable = true;
}
</script>

服务器端:页面加载

btnsubmit1.OnClientClick = "disableButtons();this.value='Processing...'"
btnsubmit1.OnClientClick = "disableButtons();this.value='Processing...'"

我注意到您在标记中还提到了另一个函数"return validation()"。如果您使用的是asp.net网络表单验证。我认为验证所需的任何脚本都会在渲染的html中的自定义脚本之后自动添加。