본문 바로가기
HTML, JAVASCRIPT

ajax 전송 시 serialize() 사용할 때 체크 안 한 checkbox 값 넘기기

by 스노위13 2024. 2. 7.

ajax 전송 시 serialize()를 사용하는데 체크박스를 체크 안 해도 id는 서버로 넘겨야하는 문제가 발생했다...

그래서 체크 안 한 checkbox 값을 강제로 넣어서 보내기로 했다
먼저 form을 serialize()해서 formData 변수에 담아준다.
그리고 전체 form에서 체크박스를 검색한 후에 
체크가 안 되어 있으면 강제로 formData 변수에 값을 넣어 주었다. 
그리고 이렇게 완성된 formData를 리턴받아서 ajax에서 사용하면 끝~

1
2
3
4
5
6
7
8
9
10
11
function fn_setCheck(form, unChkVal){
    var formData = $(form).serialize();
    $(form).find("input[type='checkbox']").each(function(){
        if($(this).prop("checked"== false){
            formData += "&"+$(this).attr("name")+"="+unChkVal;
        }
    });
return formData;
}
 
let formData = fn_setCheck("#MainForm""0");
cs

뭔가 다른 좋은 방법이 있을 것 같은데... 머리 안 돌아감... 

다른 사람들은 어케 했는지 좀 시간날 때 찾아봐야겠다

댓글