IT·인터넷

input disabled 타입을 ajax form 형식으로 보내기

ukidugi 2015. 6. 27.







오늘은 input type이 disabled 되어 있을 경우 ajax form 형식으로 안보내지는 문제 다뤄보겠습니다.

일단 두 가지 방법이 있습니다. 

첫번째로 jquery를 통해서 버튼을 클릭했을 때 attr를 이용해서 disabled false 로 바꾼 뒤

ajax 처리가 끝나면 다시 disabled true로 바꾸면 됩니다.


1
2
3
4
5
6
7
8
9
10
11
12
13
$('#save_form').ajaxSubmit({
  beforeSubmit: function() {
    $(myForm).prop('disabled'true);
    ...
  },
  success: function() {
    $(myForm).prop('disabled'false);
    .....
  },
  error: function() {
    ....
  }
});
cs


보통 이 방법을 쓰는데요 첫번째 방법이긴 한데 ajax 에러가 떨어진다면 로직 추가 예상이 됩니다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
var formInputs = { }; //JSON형태 변수 만들기
 
$('input[type=text]').each(function() {
 // 해당 타입이 텍스트 하나씩 가져온다
  formInputs[this.id] = this.value;
 // text value 뽑아 아이디와 밸류를 넣어준다
});
 
$.ajax({              
      url: '/jQueryTest/test.json',              
      data: formInputs,
      type: 'post',      
      dataType: 'json'        
      success: function(response){                  
         //success process here                  
      },
      error: errorhandler,              
                
   });  
 
<form id="text">
<input type="text" id="test" disabled="disabled" />
<form>
cs


두번째 방법은 바로 위에 있는 로직 인데요 

1. JSON 형태 변수 만들기

2. 해당 input type text 모든 밸류와 아이디를 JSON 형태로 담아준다

3. ajax 로직 data 에다가 해당 변수를 넣어주면 끝


두가지 방법 다 정답은 없겠지만 어느쪽이든 편한쪽을 쓰는게 좋겠습니다.

개발자라면 되기만 하는 되니..ㅋㅋ 변형해서 쓰시면 더 좋은 결과를 불러오겠죠 

이상 마치겠습니다.


댓글