메뉴 건너뛰기

조회 수 1468 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

jQuery 플로그인 중 form태그 내부의 데이터를 편하게 비동기 처리해주는 기능이 있습니다.

바로 jQuery의 ajaxSubmit(); 인데요.

submit이지만 비동기로 처리할 수 있고 동작 이전의 함수처리, 이후의 함수처리도 정의할 수 있는 장점이 있습니다.

사용법은 아래와 같습니다.

 

사용방식

var options = { 
        target:        '#output2',   // target element(s) to be updated with server response 
        beforeSubmit:  showRequest,  // pre-submit callback 
        success:       showResponse  // post-submit callback 

        // other available options: 
        //url:       url         // override for form's 'action' attribute 
        //type:      type        // 'get' or 'post', override for form's 'method' attribute 
        //dataType:  null        // 'xml', 'script', or 'json' (expected server response type) 
        //clearForm: true        // clear all form fields after successful submit 
        //resetForm: true        // reset the form after successful submit 

        // $.ajax options can be used here too, for example: 
        //timeout:   3000 
    }; 

$(formTag).ajaxSubmit(options);

formTag에 ajaxForm() 메소드를 연결하여 사용합니다.

저런 옵션들이 있구나 정도로 보시면 될 것 같고, 좀 더 자세한 사용법을 보겠습니다.

 

 

ajax동작 처리에 따른 결과값 받는 예제(주의점)

 

form.html

<form id="myForm" action="insertBoard.do" method="post"> 
    title: <input type="text" name="title" /> 
    Content: <textarea name="Content"></textarea> 
    <input type="submit" value="Save" /> 
</form>

form.js

<script>
var option = {
    dataType : 'json', //JSON형태로 전달도 가능합니다.
    url: "insertBoard.do",
    success: function(res){
        alert(res.msg); //res Object안에 msg에는 결과 메시지가 담겨있습니다.
    },
    error: function(res){
        alert("에러가 발생했습니다.")
    }
}

$('#myForm').submit(function() { //submit이 발생하면
    $(this).ajaxSubmit(option); //옵션값대로 ajax비동기 동작을 시키고
    return false; //기본 동작인 submit의 동작을 막아 페이지 reload를 막는다.
});
</script> 

 

여기서 주의하실점은 submit기능 동작 정의 후 마지막에 있는 return false;입니다.

이부분을 처리하지 않으면 아무리 successerror옵션을 처리하여도 페이지가 submit이 먹히기 때문에 페이지 리로드 현상이 발생하고 결과값에 따른 동작(alert() 메시지 출력)을 정상적으로 처리 할 수 없습니다.

 


List of Articles
번호 제목 날짜 조회 수
99 jQuery 기초 (텍스트 추가 (createElement, createTextNode, appendChild), (html, javascript, jquery) file 2019.01.16 1411
98 datepicker, onclick 이벤트시에 한번에 뜨게 하기 2021.03.26 1456
97 이미지 회전, rotate(); 2020.11.25 1465
» jQuery - ajaxSubmit 사용법 및 유의사항(페이지 리로드 현상) 2021.03.09 1468
95 jQuery datepicker 팝업창 사이즈 바꾸기 file 2019.01.10 1503
94 jQuery 기초 (클릭하면 이미지 변경 / mouseover시 애니메이션 효과주기 / 동적으로 변경) 2019.01.16 1507
93 스크롤 최하단 자동 포커스(auto scroll to bottom of page with jquery) 2018.11.07 1571
92 외부 파일 드래그 드롭 구현 file 2018.09.06 1678
91 jquery 자식창에서 부모창으로 값 전달 2019.08.27 1737
90 [jQuery] input 박스에 maxlength 만큼 입력했을 때 자동으로 다음 박스로 이동하기 2018.09.06 1820
89 입력폼에 입력되는 값의 유효성 체크하기 두번째 file 2018.09.06 1835
88 따욤표 중복으로 출력하기 2018.09.28 1884
87 중복 없는 랜덤 2018.11.07 2017
86 jQuery 폼 입력값 체크 예제 2018.09.06 2098
85 [jQuery] split, join 으로 공백제거 하기 2018.09.06 2146
84 Query 기초 (동적 테이블 (데이터 추가 / 삭제), integrateTable(정렬(sort)) file 2019.01.16 2196
83 [jQuery] 셀렉트박스에서 특정 옵션 선택시 레이어 나타내기 2018.09.27 2553
82 jQuery selectBox 컨트롤. 2018.07.25 2558
81 페이지 이동 제어 - href, replace, pushState() 2018.09.06 2620
80 [jQuery] 확인 창(confirm), 페이지 이동(location.replace) 2018.09.06 2652
Board Pagination Prev 1 2 3 4 5 6 7 8 9 Next
/ 9

하단 정보를 입력할 수 있습니다

© k2s0o1d4e0s2i1g5n. All Rights Reserved