0

我有一个通过页面JQUERY使用的功能,当 AJAX 运行时,我会为用户显示 loading.gif。当返回请求的 json 数据时,一切都很好。我想做的是在发生这种情况时使任何用户输入为空。AJAXPHPAJAX

解决此问题的最佳方法是什么?

编辑:

我最终使用...

$('#loadingDiv')
    .hide()  // hide it initially
    .ajaxStart(function() {
        $(this).show();
    })
    .ajaxStop(function() {
        $(this).hide();
    })
;

来自帖子如何在 jQuery 中显示加载微调器?

感谢您的建议!

4

3 回答 3

2

就像一个有趣的想法。

这有点肮脏,但您可以在 Ajax 请求期间禁用网站内的任何键盘输入,方法是将此事件添加到$(document).ready

​$(document).on("keydown", function(e) {
    return $.active == 0;
});​​​​​​​​​​​​​​

它的工作原理是这样的:$.active返回活动 Ajax 请求的数量。如果是,0那么任何keydown都将返回为false.

于 2012-05-01T21:59:53.313 回答
1

你可以:

  • 使用微调器使屏幕变灰,直到请求成功(loading.gif)
  • 通过设置禁用输入字段disabled=disabled

看到这个问题:如何在 jQuery 中显示加载微调器?jQuery .ajaxStart()

于 2012-05-01T21:50:19.873 回答
0

只需禁用 xbonez 所说的字段即可。确保向您的用户提供有关阻止他们输入数据的原因的反馈。否则他们会认为您的应用程序刚刚冻结。

于 2012-05-01T21:45:36.800 回答