我通过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