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
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 |
댓글 영역