onsubmit return 질문입니다.
본문
<form name="fitemlistupdate" method="post" action="./itemlistupdate.php" onsubmit="return fitemlist_submit(this);" autocomplete="off" id="fitemlistupdate">
<script>
function fitemlist_submit(f)
{
if (!is_checked("chk[]")) {
alert(document.pressed+" 하실 항목을 하나 이상 선택하세요.");
return false;
}
if(document.pressed == "선택삭제") {
// 해당 상품에 속한 컨텐츠를 수강 중이거나 수강 완료한 회원 정보가 있는지 확인
$.ajax({
url: "<?php echo G5_THEME_URL ?>/admin/proc/ajax_check_yc_item.php",
type: "post",
data: $(f).serialize(),
success: function(data){
if ( data ) {
alert("상품에 속한 강좌 및 컨텐츠가 존재하여 삭제할 수 없습니다.");
return false;
} else {
if(!confirm("선택한 자료를 정말 삭제하시겠습니까?")) {
return false;
}
}
},
error: function(xhr, desc, err) {
console.log(xhr);
console.log("Details: " + desc + "\nError:" + err);
}
});
}
return true;
}
</script>
위 코드 처럼 onsubmit에 있는 함수 fitemlist_submit(this)에서 return false 인경우 action이 되지 않아야 정상 아닌가요? return false인 경우에도 계속 action이 작동하네요..ㅠㅠ 왜그런걸까요?
!-->답변 1
ajax 내부에서 false 는 해당 함수(ajax)내에서 처리였던가 그래요.
저는 아래처럼 사용합니다. 예전에 한번 애먹은 적이 있어서 기록해둔 내용입니다.
http://jsbsoft.kr/bbs/board.php?bo_table=scribble&wr_id=20
function f_submit(f){
var flag = "true";
$.ajax({
type:"post",
~~~
success:function(rt_val){
if(rt_val !== 'yes') {
flag = "false";
}
}
if(flag !== "true"){
return false;
}
return true;
}
"false" 랑 fasle 구분 처리
더 자세한 건 구글링 해보세요.
답변을 작성하시기 전에 로그인 해주세요.