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

时间:2012-04-06 04:34:13

标签: javascript linkbutton

我有这样的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");

}

但这不起作用;我仍然可以添加许多患者记录。

我该怎么办?

3 个答案:

答案 0 :(得分:1)

谢谢你们所有人!

我发现LinkBut​​ton可能没有disable属性,它在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;
     } 
}

答案 1 :(得分:0)

你可以说

AddButton.Enabled = false;

在页面背后的代码中

或者你可以写

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

答案 2 :(得分:0)

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