javascript - Asp.Net按钮onclientclick问题

标签 javascript asp.net onclientclick

我似乎遇到了一个奇怪的问题,我不知道如何解决。 我有一个像这样的按钮:

<asp:Button ID="btnSave" runat="server" ClientIDMode="Static" Text="Save" OnClientClick="return ConfirmSave();" OnClick="btnSave_Click" />

如果我像下面这样编写客户端函数,它将按预期工作:

function ConfirmSave()
{
  return confirm('Confirm?');
}

但我应该在函数内部检查确认结果,如下所示:

    function ConfirmSave() 
    {
      if (Page_ClientValidate('validationGroup'))
      {
        var conf = confirm("Confirm?");

        if (conf)
        {
             $('#btnSave').attr('disabled', 'disabled');
        }

        return conf;
      }
      else
        return false;
   }

这样做,页面回发,但服务器单击事件不会触发。

有人可以帮忙吗?谢谢

最佳答案

在代码完成并提交发生后立即使用超时来禁用按钮。

if (conf) 
{ 
     setTimeout( function() { $('#btnSave').attr('disabled', 'disabled') }, 0 );
} 

关于javascript - Asp.Net按钮onclientclick问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3606938/

相关文章:

javascript - javascript 中 json 的循环问题

c# - 通过 url 性质控制内容的显示 - MVC/HTML/ASP/JS

javascript - 当我执行 OnClientClick ="function(); return false"时 OnClick 不起作用

asp.net - OnClick 与 OnClientClick 的 asp :CheckBox?

c# - ASP NET C# onclientclick

javascript - m.add 不是函数(新 Node js 模块)

javascript - 使用 textContent 更改/添加我的 html 文件中的文字

javascript - 选择所有复选框/行 - React hooks 应用程序

c# - 如何将 List<string> 转换为所需格式的数据集

c# - 我们可以在 ASP .NET MVC 中重载 Controller 方法吗