웹프로그래밍

Global It Leader!!


jQuery


 
 

JQuery form serialize 값 변경

페이지 정보

작성자 no_profile 운영자쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 댓글 0건 조회 2,100회 작성일 22-03-26 16:03

본문

$.ajax() 데이터 전송할 때 주로 form input 데이터를 serialize() 해서 파라미터로 전송하는 방식을 적지 않게 쓴다.

$.ajax({

    type : 'POST',

    url : '/some/post/url',

    data : $('#formId').serialize(),

    success : function (result) {

        ....

    },

    ....

});

위에서 serialize() 된 놈의 특정 값을 별도로 핸들링 해야 하는 경우가 있다.

예를 들면 아래 상황  : {

    input 에 입력한 값을 submit() 직전에 변경하고 싶은데 ...

    1. 전송할 form input element 가 졸라게 많을 때 일일이 new object  { key : value, ... } (json) 으로 노가다 생성하기 힘들 때

    2. type="text" 으로 노출되는 input 에 변경된 값이 노출되게 하고 싶지 않을 때 (노출은 원문, 전송은 암호문 처리 등)

    (2 번을 대체할 hidden input 으로 따로 쓴다던지.. 하는 방식도 안 쓴다고 할 때)

}

 

$('#formId').serializeArray() 를 응용하여 다음과 같이 특정 key 값에 해당하는 value 값을 동적으로 핸들링 할 수 있다.

(array 반복 탐색하면서 key 값과 매칭하여 value 를 변경해주는 방식)

 

[usage]

var formData = $('#formId').serializeArray();

formData = changeSerialize(formData, '변경할inputName', '변경될inputValue'');

 

[function]

function changeSerialize( values, k, v ) {

    var found = false;

    for (i = 0; i < values.length && !found; i++) {

        if ( values[i].name == k ) { 

            values[i].value = v;

            found = true;

        }

    }

    if (!found) {

        values.push(

            {

                name: k,

                value: v

            }   

        );

    }

    return values;

}

댓글목록

등록된 댓글이 없습니다.

전체 148
게시물 검색
jQuery 목록
번호 제목 글쓴이 조회 날짜
148 no_profile 운영자쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 112 11-08
147 no_profile 운영자쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 134 07-31
146 no_profile 운영자쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 120 06-20
145 no_profile 운영자쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 121 06-20
144 no_profile 운영자쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 125 06-05
143 no_profile 운영자쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 124 06-05
142 no_profile 운영자쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 596 07-06
141 no_profile 운영자쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 791 01-05
140 no_profile 운영자쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 902 12-07
139 no_profile 운영자쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 1417 03-31
138 no_profile 운영자쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 1428 03-28
137 no_profile 운영자쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 1422 03-27
136 no_profile 운영자쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 2103 03-27
135 no_profile 운영자쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 1390 03-27
134 no_profile 운영자쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 1472 03-27
133 no_profile 운영자쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 1778 03-26
132 no_profile 운영자쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 1425 03-26
131 no_profile 운영자쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 1605 03-26
130 no_profile 운영자쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 3132 03-26
129 no_profile 운영자쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 2100 03-26