sab*_*ito 85 ajax jquery xmlhttprequest
我在使用jQuery控件时遇到了一些问题.假设您有一个下拉列表,允许您输入您要查找的项目的ID,当您按下ENTER或在文本框中失去焦点时,它会通过jQuery验证您输入的ID是否正确,如果它没有显示警告"T.
问题是,当普通用户在其中输入无效值并通过按下提交按钮失去焦点时,jQuery帖子会在发送表单提交后返回.
有什么方法可以检查jQuery是否有任何异步请求处理,以便我不允许表单提交?
小智 24
$(function () {
function checkPendingRequest() {
if ($.active > 0) {
window.setTimeout(checkPendingRequest, 1000);
//Mostrar peticiones pendientes ejemplo: $("#control").val("Peticiones pendientes" + $.active);
}
else {
alert("No hay peticiones pendientes");
}
};
window.setTimeout(checkPendingRequest, 1000);
});
Run Code Online (Sandbox Code Playgroud)
Toj*_*oji 11
$ .ajax()函数返回XMLHttpRequest对象.将其存储在可从"提交"按钮的"OnClick"事件中访问的变量中.处理提交点击时,检查XMLHttpRequest变量是否为:
1)null,表示尚未发送任何请求
2)readyState值为4(已加载).这意味着请求已成功发送和返回.
在任何一种情况下,返回true并允许提交继续.否则返回false以阻止提交,并向用户提供一些说明,说明他们的提交无效.:)