如何阻止双击asp.net按钮
How to stop asp.net button from being double clicked?
好的,让我在这个问题的开头说,我已经通读了这个网站上的所有文章,并尝试了其中的大多数解决方案。
我有一个按钮,它有一个服务器端事件。此服务器端事件具有一个(handles btnSave_click)。
我的第一次尝试当然是这样
btnSave.enable = false
这当然还不够快。
然后我试了一下
btnSave.Attributes.Add("onclick", "this.disabled=true;");
和这个
btnSave.Attributes.Add("onclick", " this.disabled = true; " + ClientScript.GetPostBackEventReference(btnSave, Nothing) + ";")
这不起作用,当然,然后我通过OnClientClick事件尝试了一堆不同的jquery和javascript。这也不起作用,但从我所看到的情况来看,这是因为我也有服务器端事件触发,我在逐步完成过程中没有达到我的功能。正如你所看到的,我花了很多时间试图让它发挥作用。希望有人知道我在这里做错了什么。我所拥有的只是一个非常简单的按钮和代码,并没有什么奢侈的东西。
这是我的按钮
<asp:Button ID="btnSave" runat="server" Width="60px" Text="Save" Enabled="False"></asp:Button>
这是服务器端事件头。:
Private Sub btnSave_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnSave.Click
再次,任何想法都将不胜感激。谢谢
当您单击按钮并用javascript禁用它时,它在客户端上被禁用,而服务器端不知道它在客户端被禁用,因为服务器端检查控件属性的视图状态。如果要在单击并回发后保持禁用状态,则必须在客户端和服务器上都禁用它。
在客户端
$('#<%= btnSave.ClientID %>').click(function() {
this.disabled = true;
});
服务器端
btnSave.enable = false
类似的东西?
客户端:
var buttonPressed = false;
服务器:
btnSave.OnClientClick = "if (buttonPressed) return false else buttonPressed = true; return true;"
这样的东西应该可以工作:
$('#yourButtonId').click(function() {
$(this).attr('disabled', 'disabled');
});
这是一个更聪明的解决方案:服务器:
<asp:Button ID="btnSave" runat="server" Width="60px"
Text="Save" Enabled="False" OnClientClick="return preventDblClick()" ></asp:Button>
客户:
var dbl = 0;
function preventDblClick() {
if (dbl < 1) {
dbl += 1;
return true;
} else {
return false;
}
}
相关文章:
- 如何在asp.net按钮上显示Bootstrap Autocloseable警报消息
- Asp.net按钮事件点击不做回发.有可能吗
- 在SweetAlert中传递ASP.NET按钮单击事件
- 仅当条件为真时,才将客户端单击确认添加到 asp.net 按钮
- 如何在单击asp.net按钮时自动单击html按钮
- 单击ASP.NET按钮(位于UpdatePanel内部)以清除TextBox(位于UpdatePanel外部)
- 如何阻止双击asp.net按钮
- 使用JSON的javascript中的ASP.NET按钮单击事件
- ASP.net按钮单击时不使用Jquery模态对话框激发
- 我如何从 Javascript 调用 ext.net 按钮并设置为启用它
- 将 .net 按钮控件 ID 传递给 JavaScript 函数
- Asp.Net 按钮回发不断触发
- 如何在首次提交后立即禁用 ASP.NET 按钮(在客户端上)
- 添加客户端单击 ASP.NET 按钮
- 禁用 asp.net 按钮回发
- ASP.Net 按钮未重置为默认值
- 触摸启动触摸结束 asp.net 按钮未读取事件
- asp.net 按钮单击客户端和服务器端代码
- 通过调用 ASP.NET 按钮单击从 jQuery 模式对话框回发
- ASP.Net 按钮重新加载整个页面