상세 컨텐츠

본문 제목

Js006_Form4

WEB-Front end/*JAVASCRIPT

by 주초위왕 2023. 10. 24. 13:00

본문

checkAgree 함수는 웹 페이지의 특정 폼(form) 내부에 있는 동의 체크박스(checkbox)들이 모두 체크되어 있는지 확인하고, 그 결과에 따라 다른 작업을 수행하는 기능을 제공합니다. 아래에서 코드의 각 부분을 상세히 설명하겠습니다:

  1. 폼 참조 가져오기:document.forms는 문서 내의 모든 폼 요소들을 나타냅니다. 'regist'라는 이름을 가진 폼을 frm 변수에 저장합니다.
  2. javascriptCopy code
    const frm = document.forms['regist'];
  3. 체크 상태 초기화:ch 변수는 모든 체크박스가 체크되어 있는지 확인하는 데 사용됩니다. 초기값으로 true를 가집니다.
  4. javascriptCopy code
    let ch = true;
  5. 동의 항목 검사:
    • frm['agree']는 'agree'라는 이름을 가진 폼 내의 모든 체크박스 요소들을 나타냅니다.
    • 루프는 각 체크박스 요소를 e 변수에 저장하며 반복됩니다.
    • if(!e.checked)는 현재 체크박스(e)가 체크되어 있지 않은 경우를 검사합니다.
    • 체크되어 있지 않은 체크박스가 발견되면 경고 메시지를 표시하고, ch 변수를 false로 설정합니다.
  6. javascriptCopy code
    for(e of frm['agree']){ if(!e.checked){ alert(`${e.value} 항목에 동의하셔야 합니다`); ch = false; } }
  7. 폼 제출:
    • 모든 체크박스가 체크되어 있다면 (ch가 true인 경우), frm.submit()을 호출하여 폼을 제출합니다.
    • 그리고 함수 실행을 종료합니다.
  8. javascriptCopy code
    if(ch){ frm.submit(); return; }
  9. 함수 종료:만약 모든 체크박스가 체크되어 있지 않다면 함수는 아무 것도 수행하지 않고 종료됩니다.
  10. javascriptCopy code
    return;

결과적으로, checkAgree 함수는 사용자가 모든 동의 항목을 체크했는지 확인하고, 그렇다면 폼을 제출합니다. 하나 이상의 항목이 체크되어 있지 않다면 경고 메시지를 표시하고 폼 제출을 중단합니다.


function checkAgree() {
        const frm = document.forms['regist'];
        let ch = true;      // 전체 체크가 되고있는지 확인하기 위해서

        for(e of frm['agree']){

            if(!e.checked){

                alert(`${e.value} 항목에 동의하셔야 합니다`);
                ch = false;     // 한번이라도 체크가 안 외어 있다면false
            }
        }
        if(ch){
        frm.submit();
        // true가 되면 전체가 체크 되어있음
        return;     //if문 리턴    
    }
        return;
    }
반응형

관련글 더보기

댓글 영역