使用asp.net验证控件时,禁用回发按钮
Disable button on postback when using asp.net validation controls
我使用下面的代码来禁用我的按钮,当它被点击:
OnClientClick="this.disabled = true" UseSubmitBehavior="false"
问题是该页有几个asp.net验证控件。当我点击按钮时,按钮就会失效。如果任何验证控件失败,则该按钮保持禁用状态(并且永远不会启用-因为从未执行回发)。
我怀疑是否有。net方法来解决这个问题,所以我希望有某种javascript可以插入到onclientclick属性中。希望我可以检查是否验证控件返回任何错误,在我禁用按钮之前…
自己触发验证,并使用验证来确定按钮是否应该保持禁用
你的按钮(注意OnClientClick返回true/false):
<asp:Button ID="Button1" runat="server" Text="Go" OnClientClick="return validatePage(this);" ... />
你的JavaScript函数:
validatePage = function(button)
{
var isValid = Page_ClientValidate();
button.disabled = isValid;
//return validation - if true then postback
return isValid;
}
这个问题以前就有人问过。以下是我发现的一些可能对你有所帮助的答案:
JQuery验证插件重新启用验证后提交
提交后重新启用按钮
使用jQuery来启用/禁用按钮
form1上的onsubmit事件展示了如何以一种简单的方式做到这一点。试试这个:
<form id="form1" runat="server" onsubmit="setTimeout(function() {form1.btn1.value = 'Wait...'; form1.btn1.disabled = true; }, 0);">
<div>
<asp:Label id="lbl1" runat="server" Text="Simple test:" AssociatedControlID="text1" />
<asp:TextBox runat="server" ID="text1" />
<asp:RequiredFieldValidator ErrorMessage="Fill the TextBox!" ControlToValidate="text1" runat="server" />
<asp:Button Text="text" runat="server" ID="btn1" OnClick="btn1_Click" />
</div>
</form>
相关文章:
- ASP.NET通过单击JavaScript按钮触发c#事件
- 模拟<按钮>在<asp:button>
- 输入文本框为空时的阻止按钮asp.网络表单
- 如何在asp.net上应用javascript按钮点击
- 如何在ASP.NET中单击按钮后激活启动选项卡
- 如何在重定向到asp.net中单击按钮的下一页之前应用javascript警报
- JavaScript表单提交没有't fire asp服务器端点击功能的提交按钮
- 如何在asp.net按钮上显示Bootstrap Autocloseable警报消息
- 如何使用按钮'的OnClientClick属性,以便在ASP.NET中运行一些多个JavaScript函数
- Asp.net按钮事件点击不做回发.有可能吗
- 使用一个按钮ASP.NET MVC提交多个单选按钮值
- 带有 if 语句的 JavaScript 在 C# 后面的代码中触发按钮 asp.net
- 通过单击“MVC 获取错误”中的“下一步”按钮 asp.net 在同一详细信息页面上显示记录
- 引导 3 个单选按钮到按钮 ASP.NET MVC 下无法完全正常工作
- 通过按钮(asp.net)在textbox.value(JavaScript)中输入字符串
- 如果Else的一部分在我的Javascript切换按钮ASP.net/Javascript中不起作用
- 浏览器返回按钮asp.net
- 确认模式按钮 asp.net 的操作
- 如何从代码隐藏中禁用 JqueryUI 对话框按钮 ASP.NET
- 确认回发OnClientClick按钮ASP.NET