상세 컨텐츠

본문 제목

Jquery Form Serialize Disabled 컨트롤 넘기는 방법

자바스크립트/jquery

by somiyuralove 2021. 3. 24. 10:26

본문

Jquery와 Ajax를 사용하는 사람들이라면 거의 기본처럼 사용하는게 바로 form.submit() 입니다.
form을 serialize해서 넘기는 경우도 많은데요.
그때 그 안의 input중에 disabled처리 되어있는 컨트롤러가 있는 경우에는 name 속성을 아무리 잘 줘도 넘어가지 않는 경우가 종종 있습니다,,,,ㅠㅠ
이게 브라우저의 차이인지는 아직 잘 모르겠는데 저같은경우는 익스에서는 넘어갈때도있구 아닐때도 있구 크롬에서는 거의 안넘어가더라구요.
그럴때의 해결방안을 찾아왔습니다.

폼 시리얼라이즈 하기 전에 disabled 처리된것을 모두 false 처리 한 후 form submit 하고 다시 disable 처리 하는 것 입니당.

아래로 예제 달아두겠습니다.

// 현재 폼 가져온 후

var myForm = $("#formID");



// disable 처리된 모든 컨트롤러들을 찾아 disable를 삭제시켜줍니다.

myForm.find(':input:disabled').removeAttr('disabled');

myForm.serialize();

myForm.submit();



// 서브밋 완료 후 다시 disable처리 해 줍니다.

myForm.find(':input:disabled').attr('disabled','disabled');
cs

참고 : https://stackoverflow.com/questions/4748655/how-to-make-serialize-take-into-account-those-disabled-input-elements

'자바스크립트 > jquery' 카테고리의 다른 글

event.target.id 관련  (0) 2022.09.20
jquery toggleClass()  (0) 2021.04.09
[JQuery] input 객체 - readonly, disabled 처리  (0) 2021.03.24
jQuery.merge(first, second) Returns:Array  (0) 2021.02.09
jQuery.map()  (0) 2021.02.08

관련글 더보기

댓글 영역