Javascript选中两个复选框未选中一行

Javascript选中两个复选框未选中一行,javascript,html,jsp,checkbox,displaytag,Javascript,Html,Jsp,Checkbox,Displaytag,在一个包含多行的表中,每行有两个复选框。在这里,我需要验证 该用户已为所有行选择了复选框,也未同时为approveCheck和rejectCheck选择复选框。这里隐藏的两个是jsp中的示例代码 <display:table> <display:column title="Approve" > <center> <input ty

在一个包含多行的表中,每行有两个复选框。在这里,我需要验证 该用户已为所有行选择了复选框,也未同时为
approveCheck
rejectCheck
选择复选框。这里隐藏的两个是jsp中的示例代码

<display:table>
<display:column title="Approve" >                                                               
<center>
<input type='hidden' value='' name='approveCheck'>
<input type="checkbox" name="approveCheck" value="${approve.num}" />
</center>                                                                                           
</display:column>
<display:column title="Reject" >                                                                
<center>
<input type='hidden' value='' name='rejectCheck'>
<input type="checkbox" name="rejectCheck" value="${approve.num}" />
</center>                                                                                           
</display:column>
</display table>

提交时,我调用的javascript是:

function formCheck2(){

    var alertMsg = '';
    var checkedList1 = window.document.getElementsByName('approveCheck');
    var checkedList2 = window.document.getElementsByName('rejectCheck');
    var validationFlag = true;
    if(checkedList1 == '')checkedList1=0;
if(checkedList2 == '')checkedList2=0;

     mainloop:
    for(var i = 0; i < checkedList1.length; i++){
        for(var i = 0; i < checkedList2.length; i++){
            if(checkedList1 !='' && checkedList2 !=''){
             if ((checkedList1[i].checked == true || checkedList1[i].checked == "true") && (checkedList2[i].checked == true || checkedList2[i].checked == "true")){                 
                validationFlag = false;
                alertMsg = "Cannot check both";
                alert('both checked');
                break mainloop;
                }            
            else if ((checkedList1[i].checked == false || checkedList1[i].checked == "false") && (checkedList2[i].checked == false || checkedList2[i].checked == "false")){         
                validationFlag = false;
                alertMsg = "need to act on all";
                alert('none checked');
                break mainloop;
                }       
            else{           
                validationFlag = true;

             }
        }
        }
    }                   
    if(validationFlag){             
            window.document.forms["Rep"].btnSubmit.disabled = true;     
            window.document.forms["Rep"].action = '${urlSubmit}';       
            window.document.forms["Rep"].submit();              
    }
    else{
        alert(alertMsg);
        return false;   
    }
}
函数formCheck2(){
var-alertMsg='';
var checkedList1=window.document.getElementsByName('approveCheck');
var checkedList2=window.document.getElementsByName('rejectCheck');
var validationFlag=true;
如果(checkedList1='')checkedList1=0;
如果(checkedList2='')checkedList2=0;
主回路:
对于(变量i=0;i

在这里,无论我选择什么,我都会选择“需要对所有人采取行动”框。

我是否可以建议使用单选按钮而不是复选框,并使用其名称对每两个单选按钮进行分组:

<input type="radio" name="Check1" value="${vdapprove.ddr_num}" onClick="toggle(this);"/>
<input type="radio" name="Check1" value="${vdapprove.ddr_num}" onClick="toggle(this);" />

这样,您将确保不能同时检查这两个

注意:
您可以为他们提供不同的ID,以便能够根据他们的ID访问其中的每个复选框。

不能提供单选按钮,因为要求提供checkboxesOk,另一个建议是验证onClick,因此在每个复选框中,onClick将检查是否选中了另一个复选框,如果是,则发出警报,或者取消选中另一个复选框。onClick=“Validate();”
函数Validate(){var checkedList1=window.document.getElementsByName('approveCheck');var checkedList2=window.document.getElementsByName('rejectCheck');if(checkedList1[i]。checked==true | | checkedList1[i]。checked==true)//做点什么。}
你能创建小提琴吗?