이 양식 유효성 검사 스크립트를 반환하기 전에 전체 양식 섹션을 반복하는 방법은 무엇입니까?

Frank Conijn

환자 만족도 설문지를 개발 중 입니다. A 기본 질문에서 특정 라디오가 확인 된 경우 A 하위 섹션에있는 하나 이상의 항목에 점수가 부여되었는지 확인해야하는 양식 유효성 검사 스크립트가 있습니다. 현재 다음과 같이 보입니다.

function countRadiosChecked(chdRds) { 
    var cnt = -1;
    for (i=chdRds.length-1; i>-1; i--) {
        if (chdRds[i].checked)
        {cnt=i; i=-1;}
    }
    if (cnt > -1) return chdRds[cnt].value;
    else return null; /* = the number, not the value of the radio buttons */
}


function checkASection() {
if ((upssForm.A[0].checked == true) || (upssForm.A[1].checked == true) || (upssForm.A[2].checked == true) || (upssForm.A[4].checked == true)) {
    var itemsANamesArray = ['A1a','A1b','A1c','A1d','A1e','A1f','A1g','A2a','A2b','A2c','A2d','A2e','A2f','A2g','A2h','A2i','A2j','A2k','A2l','A2m','A2n','A2o','A2p','A2q','A2r'];
    var thatAName = null;
    var itemsANamesArrayCount = itemsANamesArray.length;
    for (i=0; i<itemsANamesArrayCount; i++) {
        thatAName = itemsANamesArray[i];
        var thatANameGroup = upssForm.elements[thatAName];
        var nrOfRadiosChecked = countRadiosChecked(thatANameGroup);
            if (nrOfRadiosChecked == null)
        {
            alert('No item in the A sub-section has been given a score');
            return;
        }
        return;
    }
}
}

그러나 스크립트는 첫 번째 항목에 점수가 주어지지 않은 경우 이미 경고를 제공하고 필요한 경우 경고 전에 전체 배열을 반복해야합니다. 어떻게해야합니까?

항복

이 시도

    function countRadiosChecked(chdRds) { 
    var cnt = 0;
    for (var i=chdRds.length-1; i>-1; i--) {
        if (chdRds[i].checked){
           cnt = 1; 
           break;
        }
    }
    return cnt;
}


function checkASection() {
    if ((upssForm.A[0].checked == true) || (upssForm.A[1].checked == true) || (upssForm.A[2].checked == true) || (upssForm.A[4].checked == true)) {
        var itemsANamesArray = ['A1a','A1b','A1c','A1d','A1e','A1f','A1g','A2a','A2b','A2c','A2d','A2e','A2f','A2g','A2h','A2i','A2j','A2k','A2l','A2m','A2n','A2o','A2p','A2q','A2r'];
        var thatAName = null;
        var itemsANamesArrayCount = itemsANamesArray.length;
        var nrOfRadiosChecked =0;
        for (var i=0; i<itemsANamesArrayCount; i++) {
            thatAName = itemsANamesArray[i];
            var thatANameGroup = upssForm.elements[thatAName];
            nrOfRadiosChecked = nrOfRadiosChecked + countRadiosChecked(thatANameGroup);

        }
        if (nrOfRadiosChecked == 0){
            alert('No item in the A sub-section has been given a score');
            return;
        }
        return;
    }
}

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관