본문 바로가기

JavaScript :: return vs return true vs return false 차이

반응형
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>book_insert_form_ajax_button</title>
<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
<script type="text/javascript" src="./js/bookmanage.js"></script>
<body>
<center>
<form method="post" name="insert_book_form" action="BookInsertPro" onsubmit="return insertBookSave()">
</form>
</center>
</body>
</html>

./js/bookmanage.js 경로의 파일을 받는 insert_book_form이 있다고 가정한다.
onsubmit 이벤트로 insertBookSave 함수를 호출했을 때를 비교한다.

1. return
function insertBookSave() {
    var insert_book_form = document.insert_book_form;
    if (! insert_book_form_bookCode.value) {
        alert('도서 코드를 입력하세요.');
        insert_book_form.bookCode.focus();
        return;
    }
}

return 뒤에 어떠한 값으로 return하는지 정해주지 않았기 때문에 insert_book_form_value값이 들어가 있지 않을 경우 null로 return한다.
따라서 insert_book_form은 submit을 하지 못하고 null을 반환한다.
해당 return 아래를 전부 실행하지 않고 return 줄에서 클래스를 끝내버린다.

2. return true
function insertBookSave() {
    var insert_book_form = document.insert_book_form;
    if (! insert_book_form.bookCode.value) {
        alert('도서 코드를 입력하세요.');
        insert_book_form.bookCode.focus();
        return true;
    }
}

return값을 true로 정해줬다.
insert_book_form이 submit 하기 전에 insertBookSave 함수에서 유효성 검사를 하고 통과가 되면 true (=submit true)로 리턴한다는 뜻이다.
즉 bookCode.value 값이 들어가 있지 않아도 submit 한다.

3. return false
function insertBookSave() {
    var insert_book_form = document.insert_book_form;
    if (! insert_book_form.bookCode.value) {
        alert('도서 코드를 입력하세요.');
        insert_book_form.bookCode.focus();
        return false;
    }
}

return값을 false로 정해준다.
bookCode.value 값이 들어가 있지 않으면 submit을 fasle로 리턴한다는 뜻이다.

반응형

댓글


Copyright ⓒ SmartWeb All rights reserved.