“验证阻止”复选框将自动回发
Validation prevent check box to auto postback
我的页面上有以下复选框:
<asp:CheckBox ID="rbBuilding" runat="server" AutoPostBack="True" OnCheckedChanged="HandlerPackageOnCheckedChanged" Checked="True" CausesValidation="False" />
<asp:CheckBox ID="rbContent" runat="server" AutoPostBack="True" OnCheckedChanged="HandlerPackageOnCheckedChanged" CausesValidation="False" />
有一种基于所单击复选框组合的回发逻辑。除了一种情况外,一切都很好:
我正在打开额外的telerik radwindow,它在自己的验证小组中进行了一些验证。如果我关闭窗口时出现任何验证错误,那么第一次单击任何复选框不做postpack。
只有第一次点击不起作用。下次我点击时,一切都很好。我尝试将复选框添加到他们自己的验证组中,并将大小写验证更改为true。但行为是完全一样的。当我将测试javascript方法添加到该复选框的onclick中时,该方法将被激发而不会出现问题。只是没有回邮。
我还试图在窗口关闭时重置窗口验证组的所有验证器,它们被重置了,但行为没有得到检查,第一次点击也不起作用。
更新:
我又做了一次检查,意识到只有在javascript:中进行检查时才会发生这种情况
window.Page_ClientValidate("MyGroup")
这是我在弹出窗口上做一些计算之前必须做的。在动态验证器期间,当更新可验证控件时,即使验证失败,每个控件都能正常工作。所以问题是*Page_ClientValidate*
我知道这是一个老问题,但我遇到了几乎完全正确的问题,多亏了以下链接,我得以解决问题:
问题是回发和点击控件两次
最后,我在代码后面添加了这段代码,为复选框的点击事件添加了一个javascript事件处理程序:
Checkbox1.Attributes.Add("onclick", "checkboxChanged();");
然后我添加了以下javascript:
function checkboxChanged(arg1) {
Page_BlockSubmit = false;
}
在我的情况下,复选框也被设置为CausesValidation设置为false,但我认为这不是这个修复所必需的。希望这能帮助到别人。
相关文章:
- angularjs复选框验证至少两个
- 如何创建只允许用户在选中前一个复选框的情况下选择复选框的复选框验证
- Javascript复选框验证:如果用户没有't选中特定复选框
- 复选框验证错误
- 简单的 JavaScript 复选框验证
- 没有表单的 jQuery 复选框验证
- 动态创建的复选框验证在 jquery 中无法正常工作
- 如何使用jQuery验证插件根据输入类型=文本/单选/复选框验证表单
- 多个复选框验证 JavaScript
- jQuery 使用样式化的无线电和复选框验证插件
- 单击“继续”按钮之前的复选框验证
- javascript多复选框验证
- 单个复选框的javascript中的复选框验证失败
- MVC 3复选框验证
- Javascript:动态表单复选框验证
- Javascript复选框验证与多个复选框的值卡住
- 复选框验证码
- 复选框验证不起作用
- JQuery验证-复选框验证不发送所有值
- 多个复选框验证