【问题标题】:ASP.NET OnClient ClickASP.NET OnClientClick
【发布时间】:2014-03-14 14:59:02
【问题描述】:

我有以下按钮:

<asp:Button ID="BtnRequestLeave" runat="server" Text="Request Leave" OnClientClick="return validation();" UseSubmitBehavior="false" OnClick="BtnAdd_Click" Width="111px" />

如何检查 validation(); 的返回值,它是 javascript 客户端验证,如果有效,则调用一次 OnClick 方法并禁用类似于以下的按钮:

this.disabled = true; this.value = 'Submitting...';

禁止用户双击,因此OnClick 方法不会被多次调用

编辑:会不会有这样的工作:

OnClientClick="if(validation()){this.disabled = true; this.value = 'Submitting...';}else{return validation()};" UseSubmitBehavior="false" OnClick="BtnAdd_Click" Width="111px" />

【问题讨论】:

    标签: javascript asp.net validation


    【解决方案1】:

    修改您的定义以将按钮传递给函数:

    OnClientClick="return validation(this);"
    

    在验证函数内部做这样的事情

    function validation(btn){
       if ( /* your condition to pass validation */ ) {
           btn.disabled = true;
           btn.value = 'Submitting...';
           return true  
       } else {
           return false
       }
    }
    

    如果验证通过 - 您修改按钮外观并返回 true - 使回发和服务器端 OnClick 成为可能。 如果验证失败,则返回错误的取消回发和服务器端点击。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-06
      相关资源
      最近更新 更多