我试图在单击按钮后立即禁用该按钮以防止双击。下面的 Javascript 可以完成这项工作:
$(document).ready(function () {
$("#<%=cmTest.ClientID %>").click(function () {
$(this).attr("disabled", "disabled");
});
});
这是我的按钮:
<asp:Button ID="cmTest" Text="Test" runat="server" />
这是我的 VB:
Private Sub cmTest_Click(sender As Object, e As System.EventArgs) Handles cmTest.Click
Threading.Thread.Sleep(5000)
End Sub
只要将 jQuery .click 事件分配给按钮,客户端功能就会起作用,但服务器端事件永远不会运行。当我删除 jQuery 时,服务器端事件就会执行。这几乎就像我已将 onclick=javascript:DisableButton();return false;
分配给按钮本身。有没有什么方法可以将该 Javascript 分配给按钮,同时还允许触发服务器端事件?
编辑:因此,这与将 return false;
分配给按钮并不完全一样,因为页面仍然会回发。执行 return false;
实际上取消了按钮的提交,这不是这里发生的情况。
最佳答案
将以下内容添加到您的表单元素
onsubmit="$(':submit').attr('disabled', 'true');"
如果您有超过 1 个提交按钮,则必须使其更加明确。
关于jquery - ASP.NET WebForms/jQuery : jQuery . 按钮上的单击事件使按钮的服务器端 OnClick 事件无法触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11579978/