如何防止用户双击按钮?我一直在网上搜索,在我的项目中没有任何对我有用的东西。你能举个例子吗?
我这样做并不起作用
<script type = "text/javascript">
function DisableButton() {
document.getElementById("<%=Button1.ClientID %>").disabled = true;
}
window.onbeforeunload = DisableButton;
</script>
试试这个
<asp:Button OnClientClick="disableClick(this)" OnClick="MyButtonOnClick" runat="server" UseSubmitBehavior="false" ID="MyButton" />
<script type="text/javascript">
function disableClick(elem) {
elem.disabled = true;
}
</script>
您挂钩进入OnClientClick
事件,然后将按钮传递给disableClick
函数,然后将按钮设置为禁用,以便不再单击它。
您可以在按钮的单击事件中将“enabled”属性更改为false。
e.g:
在c#代码上:
protected void Button1_Click(object sender, EventArgs e)
{
Button1.Enabled = false;
}
在aspx文件上:
<asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" />
其他答案都没有真正帮助我,但是应用Junior Porfirio在评论下共享的链接中的代码(http://tgynther.blogspot.com.br/2011/07/aspnet-prevent-button-double-click.html)最终给了我正在寻找的解决方案。
Button1.Attributes.Add("onclick", " this.disabled = true; " + ClientScript.GetPostBackEventReference(Button1, null) + ";");
我在Page_Load方法中添加了上面的代码,看起来它的工作原理。该按钮被禁用,并且仍然发生回发。