jquery - ASP.NET WebForms/jQuery : jQuery . 按钮上的单击事件使按钮的服务器端 OnClick 事件无法触发

标签 jquery asp.net events webforms

我试图在单击按钮后立即禁用该按钮以防止双击。下面的 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/

相关文章:

javascript - 数据表上的行分组和小计

asp.net - 使用 jquery 从 UI 调用 WCF 数据服务违反了 MVC 模式

c# - 对于在 ASP.Net WebAPI 应用程序中存储枚举的位置是否有任何约定?

events - 在GWT应用中捕获Youtube播放器事件

c - 在 X11 上拦截 WM_DELETE_WINDOW?

javascript - 在 jQuery Mobile 中作为链接的选项值

jquery - jQuery 的新 on() 方法与 live() 方法在性能上相比如何?

javascript - 使用 jquery/php 查找链接是否已访问

asp.net - WebResource.axd 和 HTTP header

c# - 嵌套 UserControl 事件在 MVVM/WPF 场景中不适用于 EventTrigger/InvokeCommandAction