在javascript上进行多个Checkbox验证

时间:2014-02-20 02:47:12

标签: javascript validation checkbox

我有多个复选框,必须检查所有复选框。 我写下代码,但它不起作用。

这是代码 html示例::

    <form name="pembres" id="pembres" method="POST" onSubmit="return validateform()"   style="margin:0;"> 
    <input type="checkbox" name="lanjut[]" value="setuju2"  />
    <input type="checkbox" name="lanjut[]" value="setuju3"  />
    <input type="checkbox" name="lanjut[]" value="setuju4"  />
    <input type="checkbox" name="lanjut[]" value="setuju5"  />
    <input type="submit" value="Next Step" name="next" />
    </form>

头标记的第一个脚本

<script type="text/javascript">
        function validateform(){
            var success = false;
                for (i = 0; i < document.pembres.elements['lanjut[]'].length; i++){
                    if (document.pembres.elements['lanjut[]'][i].checked){
                        success = true;
                    }
                }
            return success;
        }
    </script>

/ body之前的第二个脚本

    <script type="text/javascript">  
var form = document.getElementById('pembres');
form.onsubmit = validateForm;

function validateForm() {
    var isValid = false,
        form = this,
        els = form.elements['lanjut[]'];
        i;
    for (i = 0; i < els.length; i += 1) {
        if (els[i].checked) {
            isValid = true;
        }
    }
    return isValid;
}
</script>

1 个答案:

答案 0 :(得分:0)

如果选中任何复选框,则您将isValid设置为true,如果未选中任何复选框,您应该返回false。

function validateForm() {
    var form = this,
    els = form.elements['lanjut[]'], i;
    for (i = 0; i < els.length; i += 1) {
        if (!els[i].checked) {
            return false;
        }
    }
    return true;
}