【问题标题】:disabling asp button onclick prevents event from firing禁用 asp 按钮 onclick 可防止事件触发
【发布时间】:2014-05-07 19:37:51
【问题描述】:

我试图在客户端单击一个 asp 按钮时禁用它。

<asp:Button runat="server" ID="btnSubmit" Text="Save" class="Button" OnClick="btnSubmit_Click" CausesValidation="false"></asp:Button>

<script type="text/javascript">
  $("input[type=submit],button").click(function (){$(this).attr("disabled", "disabled");});
</script>

当按钮被点击时,它会回传到 page_load ,但不会转到 btnSubmit_Click 方法。如果我删除禁用按钮的 jquery,它会使其从 page_load 到 btnSubmit_Click 方法。

似乎当按钮从 jquery 中被禁用时,它不再能够连接到它的事件。任何人都知道如何禁用按钮客户端,并且仍然可以使用特定的 onclick 事件方法?

【问题讨论】:

  • 如果不是在按钮单击中而是在表单的提交事件中禁用按钮怎么办?
  • Yuriy 谢谢你。
  • 当您单击 Asp 按钮时。需要在客户端禁用相同的功能..那为什么不能从一开始就禁用按钮
  • 是的,我在单击按钮后立即禁用了该按钮,这样用户就无法继续单击该按钮并多次返回服务器。页面回发并重新加载后,按钮将返回其原始启用状态。问题是我在客户端代码中的 form.submit 之前禁用了输入 type=submit 。显然这将禁用 onclick 事件,它不会进入其 onclick 方法。

标签: asp.net


【解决方案1】:

这已解决(Yuriy 回答),问题是我需要将禁用的代码放入 form.submit 客户端代码中。如果不是禁用的按钮没有触发其点击事件,但它仍在回发,只是没有转到 onclick 方法。

解决方案:

$('#Form1').submit(function(){ $("input[type=submit],button").click(function (){$(this).attr("disabled", "disabled");});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-01
    • 2012-07-19
    • 1970-01-01
    • 2011-09-23
    相关资源
    最近更新 更多