我通過jQuery獲得了AJAX更新的問題。我有一個類型爲「數字」的輸入字段。每次用戶通過點擊或點擊更新其值時,通過AJAX更新表格。通過AJAX更新號碼輸入更改表
它可以工作,但是:如果您更新其值太快,jQuery只需跳過一些步驟並只更新它幾次。有沒有什麼辦法可以防止這種情況,並在每次點擊時觸發AJAX功能?
另外:您可以通過輸入數字在輸入數字中添加數字,而無需單擊向上和向下按鈕。任何方式來防止呢?
我通過jQuery獲得了AJAX更新的問題。我有一個類型爲「數字」的輸入字段。每次用戶通過點擊或點擊更新其值時,通過AJAX更新表格。通過AJAX更新號碼輸入更改表
它可以工作,但是:如果您更新其值太快,jQuery只需跳過一些步驟並只更新它幾次。有沒有什麼辦法可以防止這種情況,並在每次點擊時觸發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"); });
可以使用禁用輸入:
<input type="text" disabled>
至於你的AJAX的問題,部分解決方案禁用兩個按鈕使用:
beforeSend: {
disable buttons
}
complete: {
enable buttons
}
但是,可能有幾個更好的方法t o實現你想要的。
或者,也許你可以做這樣的事情
@ Ajax.BeginForm( 「詳細信息」, 「項」, 新AjaxOptions {列舉HTTPMethod = 「GET」,UpdateTargetId = 「SearchResult所」, 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">
使當前AJAX請求的JavaScript代碼有助於查看。 – Yuck