2012-04-06 63 views
0

我有HTML代码:如何禁用一个LinkBut​​ton防止多次提交

<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"); 

} 

但是,这并不正常工作;我仍然可以添加许多患者记录。

我该怎么办?

回答

1

谢谢大家!

我发现LinkBut​​ton可能没有禁用属性,它是在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

什么是Page_ClientValidate? – singsuyash 2014-10-28 06:55:52

+0

@singsuyash - 它运行.net验证器(requiredfieldvalidator等)的客户端验证,如果一切都有效,则返回true。 – BornToCode 2016-04-10 16:55:27

0

你就可以说

AddButton.Enabled = false; 
代码

后面,或者你可以写

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

VAR键=的document.getElementById( “Add按钮”); button.setAttribute(“disabled”,“true”);

+0

我尝试它,但它仍然无法正常工作。 – XiaoP 2012-04-06 05:04:13

相关问题