본문 바로가기

errorLog

[js] if 문 내에서 return 시 함수 종료가 되지 않을 때

function submit() {
    if ($("#selectName option:selected").val() == "none") {
        alert("옵션을 선택해주세요.");
        return;
    }
    $("#form").submit();
}

 

selectbox의 옵션을 선택하지 않고 기본 옵션으로 선택되어 있을 때 alert 창을 띄우고 함수를 종료하는 코드를 작성했으나 alert 후 함수가 종료되지 않고 그대로 submit이 되었다.

 

 

function submit() {
    if ($("#selectName option:selected").val() == "none") {
        alert("옵션을 선택해주세요.");
        event.preventDefault(); 
        return;
    }
    $("#form").submit();
}

 

return하기 전에 event.preventDefault() 를 추가하여 동작을 막아주니 의도대로는 되었지만 이해가 잘 안된다.

이전에는 return 만으로 함수까지 종료했던 것 같은데..