我有以下按钮:
<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" />
答案 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
成为可能。
如果验证失败,则返回错误取消回发和服务器端点击。