0

我想添加加载或微调器消息,直到表单/服务器完成重新加载我如何检查并知道表单已完成加载以禁用微调器?

注意:一旦提交表单,更新的数据在服务器重新启动之前不可用,只有表单标题可见,而重新启动和更改会更新。目前我正在手动刷新页面,直到表单再次可用。

这是我的 html 和 jquery 片段和加载代码。我的加载代码不起作用。

加载消息的代码

 $(document).ready(function() {
              $('<div id="loading">Loading...</div>')
                .insertBefore('#myform')
                .ajaxStart(function() {
                  $(this).show();
                }).ajaxStop(function() {
                  $(this).hide();
                });
            });
4

2 回答 2

1

对于加载图像的最简单解决方案,您可以使用 jquery 插件prettyLoader

然后,您只需在加载 DOM 后初始化插件,如下所示:

<script type="text/javascript" charset="utf-8">
    $(document).ready(function(){
        $.prettyLoader();
    });
</script>

然后,每当发出 ajax 请求时,它将自动显示一个加载图标。

可以通过两种方式更新表:在 ajax 请求中加载 HTML 并简单地覆盖它:

$('#myTable').innerHtml = data;

或者您可以返回带有表数据的 json-object 并将此数据放入表中。为此,我建议您使用某种 Viewmodel,例如Knockout.js

于 2012-11-15T16:57:34.523 回答
0

您可以将其添加到您的脚本中:

// to show the loading spinner

$("#loading").ajaxStart(function(){
    $('#loader').show();
});

// to hide the loading spinner

$("#loading").ajaxStop(function(){
    $('#loader').hide();
});

loader 将是你的 div,它具有绝对定位的 div 元素,宽度和高度为 100%,中间有一个加载 gif(如果你想要或者这可能只是加载的文本消息,请稍候......像这样)

于 2012-11-15T17:20:11.500 回答