繁体   English   中英

在ASP.NET客户端中验证复选框列表

[英]validate checkboxlist in ASP.NET client side

我试图使用以下代码验证我的复选框列表,但是由于某种原因,即使选中了正确数量的复选框,每次都会给我错误消息,并且我在任何地方都找不到任何支持,有人可以发现我在做什么错吗?

<asp:CheckBoxList ID="CheckBoxList" runat="server">
</asp:CheckBoxList>

<asp:CustomValidator ID="CustomValidator1" runat="server" ClientValidationFunction="validate" ErrorMessage="choose a role, not more than 2"
        ValidationGroup="CreateUserWizard1"></asp:CustomValidator>

    <script type="text/javascript">
    function validate(source, arguments) {
        arguments.IsValid = false;

        var checklist = document.getElementById("CheckBoxList");
        if (checklist == null) return;

        var elements = checklist.getElementsByTagName("INPUT");
        if (elements == null) return;

        var checkBoxCount = 0;
        for (i = 0; i < elements.length; i++) {
            if (elements[i].checked) checkBoxCount++;
        }
        arguments.IsValid = (checkBoxCount > 0 || checkBoxCount <= 2);
    }
</script>

该脚本来自一个类似的栈问题,我真的无法弄清楚“ INPUT”是什么意思?

您必须以以下方式获得复选框列表的呈现ID:

var checklist = document.getElementById("<%=CheckBoxList.ClientID%>");

您还可以阅读: 在ASP.NET中访问控件客户端名称而不是ID

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM