验证复选框 - 未检测到复选框

时间:2011-11-29 15:41:01

标签: javascript validation checkbox

我一整天都在苦苦挣扎。除复选框外,所有其他验证工作正常。它似乎验证了它,但没有检测到什么时候检查。这意味着,我会检查一个方框,无论我检查什么样的盒子,我都会说要在联系时间内输入。请帮忙!!

它只是用于选择与您联系的最佳时间的表现。

这是我的复选框:

<input id="best_contact_time" name="best_contact_time" value="Morning 7-12" class="inputCheckbox" type="checkbox">Morning (7-12)<br>
<input id="best_contact_time" name="best_contact_time" value="Afternoon 12-5" class="inputCheckbox" type="checkbox">Afternoon (12-5)<br>
<input id="best_contact_time" name="best_contact_time" value="Evening 5-9" class="inputCheckbox" type="checkbox">Evening (5-9)<br>

我的验证码:

    function submitme() {
    // Validate required fields
    if (get_element('lastname').value == '') {
        alert('Please enter your last name');
        return false;
    }
    if (get_element('first_name').value == '') {
        alert('Please enter your first name');
        return false;
    }
    if (get_element('phone').value == '') {
        alert('Please enter a phone number');
        return false;
    }

    if (get_element('email').value == '') {
        alert('Please enter an email address');
        return false;
    }

    var ischecked = 0;
        for (var i = 0; i < document.rental.best_contact_time.length; i++) {
            var e = document.rental.best_contact_time;
            if (e.checked == true)
            { ischecked = 1; }
        }
        if (ischecked == 0) {
            alert('Please enter the best time to contact you');
            return false;
        }



    if (get_element('approximate_start_date').value == '') {
        alert('Please enter an approximate start date');
        return false;

    }



    document.forms[0].submit();
    return true;
} 

1 个答案:

答案 0 :(得分:2)

由于您有多个具有相同名称的元素,document.rental.best_contact_time将是 NodeList 而不是HTMLElementNode。

您需要遍历列表(将其视为数组)并依次检查每个列表。