2013-08-20 2 views
-1

jQuery를 통해 AJAX 업데이트에 문제가 발생했습니다. "number"유형의 입력 필드가 있습니다. 사용자가 업 또는 다운 클릭을 통해 값을 업데이트 할 때마다 AJAX를 통해 테이블이 업데이트됩니다.숫자 입력 변경시 AJAX를 통해 테이블 ​​업데이트

작동하지만, 너무 빠르면 jQuery는 몇 단계 만 건너 뛰고 몇 번만 업데이트합니다. 이를 막고 모든 클릭에 대해 AJAX 기능을 트리거 할 수있는 방법이 있습니까?

기타 : 입력 번호에 숫자를 추가하려면 위로 및 아래로 버튼을 클릭하지 말고 입력하십시오. 그걸 막을 방법이 있니?

+2

AJAX 요청을하는 현재 JavaScript 코드는 도움이 될 것입니다. – Yuck

답변

0

AJAX가 성공적으로 완료되거나 실패 할 때까지 AJAX를 시작하는 컨트롤을 비활성화 할 수 있습니다. 당신이 jQuery.post() 문서를 보면

각에 대한 핸들러가 표시됩니다

// disable the up and down UI elements here, re-enable in the .always() function 
var jqxhr = $.post("example.php", function() { 
    alert("success"); 
}) 
.done(function() { alert("second success"); }) 
.fail(function() { alert("error"); }) 
.always(function() { alert("finished"); }); 
0

당신은 사용하여 입력을 해제 할 수 있습니다 : 당신의 아약스 문제에 관해서는

<input type="text" disabled> 

, 부분적인 해결책이다

beforeSend: { 
disable buttons 
} 
complete: { 
enable buttons 
} 

하지만 몇 가지 방법이 있습니다. 당신이 원하는 것을 성취하십시오.

0

또는 어쩌면 당신은

Ajax.BeginForm @ ("세부 사항", "항목" 새로운 AjaxOptions {HttpMethod =, UpdateTargetId는 = "의 SearchResult" "GET" InsertionMode = InsertionMode처럼 뭔가를 할 수 .Replace})

<h2> Search Your Jazz </h2> 
<h2> 
    Item ID: @Html.TextBox("search")<br /> 
    <input type="submit" value="Details"/> 
</h2> 
@{ Html.EndForm();} 
<br/> 
<div id="searchResults"> 
관련 문제