如何在提交前检查checkbox数组的内容

时间:2011-07-18 05:35:24

标签: php javascript arrays forms checkbox

我有像这样的PHP函数

function printSelectedMembers($id) {

    $full_name = $this->getUserName($id);
    echo '<dl>';
    echo '<dt><label for="event_show">Selected member :</label></dt>';
    echo '<input type="checkbox" name="pvtContacts[]"  checked="checked" value="'.$id.'"/>'.$full_name;
    echo '</dl>';
}

在此我想删除该成员,如果该成员已经在复选框数组(pvtContacts [])中。在提交表单之前,我如何检查数组的内容?

1 个答案:

答案 0 :(得分:2)

在评论中你不能用php检查字段,因为它们在提交表单后被检查,但你可以使用javascript来检查是否选中了复选框。

<script type="text/javascript">
function checkForm(form) { 
    for (i=0; i<form.elements['pvtContacts[]'].length; i++) { 
        // this is where you start the checks or altering the form
        // remove (but you have to setup an unique id for each field):
        // var thisId = document.getElementById(form.elements['pvtContacts[]'][i].id);
        // thisId.parentNode.removeChild(thisId);
        if (form.elements['pvtContacts[]'][i].checked != true) { 
            // no all checkboxes are checked
            return false; 
        } 
    } 
    return true; 
}
</script>

你可以修改功能来改变/删除某些部分......