我通过jQuery获得了AJAX更新的问题。我有一个类型为“number”的输入字段。每次用户通过单击或向下点击更新其值时,表格将通过AJAX更新。
它可以工作,但是:如果你更快地更新它的值,jQuery只是跳过一些步骤并只更新它几次。有没有办法防止这种情况并在每次点击时触发AJAX功能?
另外:您可以通过输入数字在输入数字中添加数字,而无需单击向上和向下按钮。有什么方法可以阻止它吗?
答案 0 :(得分:0)
您需要禁用触发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"); });
答案 1 :(得分:0)
您可以使用以下方法禁用输入:
<input type="text" disabled>
至于你的ajax问题,部分解决方案是使用以下方法禁用这两个按钮:
beforeSend: {
disable buttons
}
complete: {
enable buttons
}
然而,可能有一些更好的方法来实现你想要的东西。
答案 2 :(得分:0)
或者你可能会做那样的事情
@ Ajax.BeginForm( “详细信息”, “项目”, 新的AjaxOptions {HttpMethod =“GET”,UpdateTargetId =“searchResults”, InsertionMode = InsertionMode.Replace})
ObjectQuery<Contact> contacts =
context.Contacts.Where("it.FirstName = @firstname",
new ObjectParameter("firstname", firstName));