如何禁用链接按钮以防止多次提交

How to disable a linkbutton to prevent multiple submits

本文关键字:提交 何禁用 链接 按钮      更新时间:2023-09-26

我有这样的HTML代码:

<asp:LinkButton ID="AddButton" runat="server" OnClick="AddPatientBtn_Click">
<span class="Normal">Add</span>
</asp:LinkButton>

我发现如果我们点击"添加"几次,它会添加几个患者记录,所以我想更改代码如下:

<asp:LinkButton ID="AddButton" runat="server" OnClick="AddPatientBtn_Click" OnClientClick="return DisableButton(this)">
<span class="Normal">Add</span>
</asp:LinkButton>

js:

function DisableButton(button) {
document.all("AddButton").click;
button.href = "javascript:void(0);";
button.setAttribute("disabled", "disabled");
}

但这并不奏效;我仍然可以添加许多患者记录。

我该怎么办?

感谢大家!

我发现LinkButton可能没有禁用属性,它是html页面中的<a>

所以我使用另一种解决方案

<asp:LinkButton ID="AddButton" runat="server" OnClick="AddPatientBtn_Click" OnClientClick="return DisableButton()">
<span class="Normal">Add</span>
</asp:LinkButton>

js:

var pending = false;
function DisableButton() {if (pending) {
    alert("The new patient is being created. Please wait...");
    return false;
    }
    else {
         if (Page_ClientValidate(""))
         pending = true;
         return true;
     } 
}

你可以说

AddButton.Enabled = false;

在页后面的代码中

或者你可以写

document.getElementById("AddButton").disabled = true;

var button=document.getElementById("AddButton");button.setAttribute("disabled","true");