Javascript, чтобы проверить оба флажка не установлен для одной строки

0

У меня есть два флажка для каждой строки в таблице с несколькими строками. Здесь мне нужно проверить, что пользователь выбрал флажок для всех строк, а также не выбран для обоих 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>

On Отправить 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;   
    }
}

здесь независимо от того, что я выбираю, я выбираю в блок "нужно действовать на всех".

  • 0
    ты можешь создать скрипку?
Теги:
jsp
checkbox
displaytag

1 ответ

0

Могу я предложить использовать переключатели вместо флажков и группировать каждые два переключателя, используя их имя:

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

Таким образом, вы будете уверены, что оба не могут быть проверены в одно и то же время

Примечание: вы можете предоставить им разные идентификаторы, чтобы иметь доступ к каждому из них на основе их идентификатора

  • 0
    не может дать радио кнопку, поскольку требование дает флажки
  • 1
    Хорошо, еще одно предложение заключается в проверке onClick, поэтому в каждом флажке onClick будет проверять, установлен ли другой флажок, и, если это так, оповещать или снимать другой флажок. OnClick = "Подтвердить ();" <input type = "checkbox" name = "ApproveCheck" value = "$ {vdapprove.ddr_num}" /> <input type="checkbox" name="rejectCheck" value="${vdapprove.ddr_num}" /> function Validate(){ var checkedList1 = window.document.getElementsByName('approveCheck'); var checkedList2 = window.document.getElementsByName('rejectCheck'); if(checkedList1[i].checked == true || checkedList1[i].checked == true) //Do something. }
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню