1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<!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>
cs

 

./js/bookmanage.js 경로의 파일을 받는 insert_book_form이 있다고 가정한다.

onsubmit 이벤트로 insertBookSave 함수를 호출했을 때를 비교한다.

 

 

1. return

1
2
3
4
5
6
7
8
9
10
11
12
13
function insertBookSave() {
    var insert_book_form = document.insert_book_form;
    
//    alert('bookCode value : ' + insert_book_form_bookCode.value);
 
    if (! insert_book_form_bookCode.value) {
        alert('도서 코드를 입력하세요.');
        
        insert_book_form.bookCode.focus();
        
        return;
    }
}
cs

 

return 뒤에 어떠한 값으로 return하는지 정해주지 않았기 때문에 insert_book_form_value값이 들어가 있지 않을 경우 null로 return한다.

따라서 insert_book_form은 submit을 하지 못하고 null을 반환한다.

해당 return 아래를 전부 실행하지 않고 return 줄에서 클래스를 끝내버린다.

 

 

2. return true

1
2
3
4
5
6
7
8
9
10
11
function insertBookSave() {
    var insert_book_form = document.insert_book_form;
    
    if (! insert_book_form.bookCode.value) {
        alert('도서 코드를 입력하세요.');
        
        insert_book_form.bookCode.focus();
        
        return true;
    }
}
cs

 

return값을 true로 정해줬다.

insert_book_form이 submit 하기 전에 insertBookSave 함수에서 유효성 검사를 하고 통과가 되면 true (=submit true)로 리턴한다는 뜻이다.

즉 bookCode.value 값이 들어가 있지 않아도 submit 한다.

 

 

3. return false

1
2
3
4
5
6
7
8
9
10
11
function insertBookSave() {
    var insert_book_form = document.insert_book_form;
    
    if (! insert_book_form.bookCode.value) {
        alert('도서 코드를 입력하세요.');
        
        insert_book_form.bookCode.focus();
        
        return false;
    }
}
cs

 

return값을 false로 정해준다.

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

 

자바스크립트 함수를 쓰면서 return 값을 true나 false로 명확하게 주지 않고 return으로만 적었었는데,

input 값 관련 오류가 나서 어떤 이유인지 한참 찾아봤었다.

 

앞으로는 return 값을 true or false로 명확하게 해야겠다.

+ Recent posts