ASP.NET OnClient单击

时间:2014-03-14 14:59:03

标签: javascript asp.net validation

我有以下按钮:

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

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

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" />

1 个答案:

答案 0 :(得分:2)

修改你的定义,将按钮传递给函数:

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成为可能。 如果验证失败,则返回错误取消回发和服务器端点击。