채택완료
ajax로 input값 서버로 보내는 방법 문의드립니다.
Copy
$.ajax({
url:'insert.php',
dataType:'json',
type:'POST',
data:{'test[]':$('#test_'+i).val()}
});
}
setTimeout(function(){
alert("완료");
location.reload();
},650);
});
ajax로 insert.php에 input값을 보낸 뒤 sql insert문으로 데이터를 등록하고 있습니다.
소량은 잘 올라가는데 100개를 한꺼번에 올리려니 중간에 alert가 떠서 data가 누락됩니다.
그래서 setTimeout으로 시간을 지연시킨 뒤 alert뜨도록 해서 누락되지 않고 넘어가게 했습니다.
근데 또 떠블 클릭을 하니 data가 중복으로 올라가져서 낭패네요...
한번 클릭하고 data가 다 올라갈 때까지 클릭이 다른 클릭이 안되게 하려면 어떻게 해야되나요?
그리고 setTimeout으로 시간 고정시켜놓는거 말고 그냥 db가 다 전달되면 alert 뜨도록 할수는 없나요??? 고수님들 도움부탁드립니다..
|
답변 2개 / 댓글 2개
채택된 답변
+20 포인트
Copy
$('button').prop('disabled',true);
$.ajax({
url:'insert.php',
dataType:'json',
type:'POST',
data:{'test[]':$('#test_'+i).val(),
error : function(error) {
alert('오류');
$('button').prop('disabled',false);
},
success : function(data) {
alert("완료");
location.reload();
}
뭐 간단히 하면 이렇게 하면 되지 않을까요? 전송전에 버튼을 비활성화 시키고 성공시에만 버튼을 다시 활성화 시키는걸로
답변을 작성하려면 로그인이 필요합니다.