JQuery验证不适用于复选框组

时间:2012-09-06 23:54:16

标签: asp.net controls jquery-validate checkbox jquery-form-wizard

我无法使用JQuery验证来处理一组复选框。我正在使用ASP.NET复选框列表生成复选框,我使用JQuery为列表中的每个复选框设置“name”属性。这是写入浏览器的代码。我在第一个复选框上设置'validate'属性,以设置必须至少选中一个复选框的规则。 JQuery验证适用于表单上的所有其他元素,但不适用于复选框列表。我也在页面上使用JQuery表单向导触发表单的每个“页面”的验证,因此我无法控制如何调用验证。

<input id="ContentPlaceHolder1_MainContent_AreaOfInterest_0" class="ui-wizard-content     ui-helper-reset ui-state-default" type="checkbox" value="Famine" name="hello[]" validate="required:true, minlength:1">
<label for="ContentPlaceHolder1_MainContent_AreaOfInterest_0">Famine</label>
<br>
<input id="ContentPlaceHolder1_MainContent_AreaOfInterest_1" class="ui-wizard-content ui-helper-reset ui-state-default" type="checkbox" value="Events Volunteer" name="hello[]">
<label for="ContentPlaceHolder1_MainContent_AreaOfInterest_1">Events Volunteer</label>

关于出了什么问题的任何想法?有许多JQuery脚本的例子可以进行验证,但是我试图避免这种情况,因为我正在通过自定义控件生成checkboxlist服务器端,以便可以在不同的页面上重复使用它们。没有启用JQuery。我正在尝试启用JQuery验证,同时尽可能不引人注目,这样即使JQuery被禁用,页面仍然可以工作。

以下是表单向导的相关JQuery包含和JQuery初始化脚本。我没有使用任何初始化代码进行JQuery验证:

<script type="text/javascript" src="../js/formwizard/js/bbq.js"></script>
<script type="text/javascript" src="../js/formwizard/js/jquery.form.js"></script>
<script type="text/javascript" src="../js/formwizard/js/jquery.form.wizard.js"></script>
<script type="text/javascript" src="../js/formwizard/js/jquery.validate.js"></script>
<script type="text/javascript">
    $(document).ready(function () {
        $("#form1").formwizard({
            validationEnabled: true,
            focusFirstInput: true
        });
    });
</script>

1 个答案:

答案 0 :(得分:0)

使用JQuery将每个复选框的“名称”设置为一致的值“打破”.NET中的复选框列表(我认为会发生这种情况)。基本上,使用JQuery表单向导并使用自定义.NET复选框列表进行JQuery验证过于复杂。它们并不真正兼容。 .NET需要为每个checkboxlist输入使用不同的名称,这对于JQuery验证不是很好(当然也不是在使用表单向导时)。我将尝试在表单向导(它有此选项)中关闭JQuery验证,以查看表单向导是否可以正常运行.NET验证器的验证(包括客户端验证)。我会回复我的结果!想想我最初尝试这样做,表单向导工作不正常,这就是为什么我开始使用表单向导进行JQuery验证,所以我目前的解决方案只是删除多页表单(表单不太长没有这个),简化事情,只依靠.NET验证(客户端和服务器端)。有人指出,多页表单可以让用户确切地想知道要填充多少字段,而至少单页表单可以让他们看到他们需要完成的内容!

这是我正在使用的表单向导:

http://thecodemine.org/