【问题标题】:Prevent double click in submit-button when postback from other controls executed before button click在单击按钮之前执行的其他控件回发时,防止在提交按钮中双击
【发布时间】:2014-12-26 04:45:26
【问题描述】:

我在阻止双击 ASP.NET 中的提交按钮时遇到问题。 我可以在没有 ASP.NET Calendar 的页面中禁用提交按钮。 在具有此Calendar 的页面中,日历的回发会在单击按钮之前禁用提交按钮。

我使用以下 javascript 来禁用按钮单击中的按钮。如果在单击提交按钮之前没有来自其他 asp.net 控件的回发,则它可以工作。

function DisableButton() {
    document.getElementById("<%=ibtnNext.ClientID %>").disabled = true;
}
window.onbeforeunload = DisableButton;

我不知道该怎么办。 欢迎所有建议。

【问题讨论】:

  • “日历的回发使“提交”按钮在单击按钮之前禁用” 这对我来说没有多大意义。你能显示禁用它的代码吗?
  • 可能意味着他禁用了回发按钮,因此任何回发(在这种情况下是由日历引起的)都禁用了它。 @Myo Min Lin 你是如何禁用按钮的?客户端还是服务器端?
  • 感谢 cmets。我想在点击后禁用“提交”按钮。我使用了以下 javascript。它适用于没有来自其他 asp.net 控件的任何回发的简单页面 function DisableButton() { document.getElementById("").disabled = true; } window.onbeforeunload = DisableButton;
  • 为什么不能在页面加载中将 DisableButton() 分配为 ibtnNext 的 onclick 属性?

标签: javascript asp.net vb.net


【解决方案1】:

而不是使用 window.onbeforeunload 事件。在其 OnClientClick 事件中禁用该按钮。

按钮的 postBack(onClick event) 只会在 javascript 中的 OnClientClick 事件之后执行。

<button id="ibtnNext" OnClientClick="return DisableButton()" onclick="btnSubmit_Click">Copy Text</button>

<script>
function DisableButton() 
{
     document.getElementById("<%=ibtnNext.ClientID %>").disabled = true;

     return true;
}
</script>

【讨论】:

  • 感谢您的建议,但它只是禁用了按钮,无法保存数据。如果在单击按钮之前没有来自其他控件的回发,我可以使用 window.onbeforeunload 事件。
【解决方案2】:

谢谢大家, 我现在得到了如下解决方案

javascript <script type="text/javascript"> function DisableButton(btn){ btn.disabled = true; } </script>

在页面加载中

protected sub Page_load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    Dim optionsSubmit As New PostBackOptions(ibtnNext)
    ibtnNext.OnClientClick = "DisableButton(this);"
    ibtnNext.OnClientClick += ClientScript.GetPostBackEventReference(optionsSubmit) End Sub

在点击事件中

Protected Sub ibtnNext_Click(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles ibtnNext.Click
    System.Threading.Thread.Sleep(2000) End Sub

原始链接 http://www.devtoolshed.com/content/disable-button-submit-prevent-multiple-submits

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-06-20
    • 1970-01-01
    • 2023-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多