我有一个位于usercontrol中的复选框,usercontrol位于向导控件中,向导控件位于包含母版页的内容页面上。
在向导控件完成之前必须选中该复选框。复选框和customvalidator位于向导控件的最后一步。
现在一切正常,使用firefox,当我用ie测试它时。但不知何故,其他人可能无需检查复选框即可继续处理。 该复选框还有一个togglebutton扩展器。我希望这不是问题。
我的内联javascript(在usercontrol中)
<script language="javascript" type="text/javascript">
// <![CDATA[
function ValidateTandCs(source, args)
{
args.IsValid = document.getElementById('<%= cbAV.ClientID %>').checked;
}
// ]]>
</script>
复选框:
<asp:checkbox id="cbAV" runat="server"/>
customevalidator和togglebutton扩展程序
<asp:CustomValidator
ID="rfvAV"
Display="Dynamic"
runat="server"
ControlToValidate="cbAV"
ErrorMessage="RequiredFieldValidator"
ClientValidationFunction="ValidateTandCs"
onservervalidate="rfvAV_ServerValidate">
</asp:CustomValidator>
<ajaxToolkit:ToggleButtonExtender
ID="tbeav"
runat="server"
TargetControlID="cbAV"
ImageHeight="15"
ImageWidth="15"
CheckedImageUrl="~/images/checkbox-on.gif"
UncheckedImageUrl="~/images/checkbox-off.gif" />
customvalidator背后的代码
protected void rfvAV_ServerValidate(object source, ServerValidateEventArgs args)
{
args.IsValid = (cbAV.Checked);
}
我试图从customvalidator中删除客户端验证,但是当我只有服务器验证时。它不起作用
答案 0 :(得分:0)
为什么在客户端和服务器端都使用验证例程?
尝试删除您的ClientValidationFunction属性并保留OnServerValidate属性。
答案 1 :(得分:0)