首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >加载时的Django微调器(spin.js)

加载时的Django微调器(spin.js)
EN

Stack Overflow用户
提问于 2013-05-09 00:37:31
回答 1查看 3.9K关注 0票数 1

我是新手在Django和这个东西,我需要一些技巧或解决方案来添加旋转器。我使用的是spin.js,我这样展示它:

代码语言:javascript
复制
 var target = document.getElementById('spin');
    var spinner = new Spinner(opts).spin(target);
    spinner.stop();
    function spin_stop()
    {
        spinner.stop();
    }
    function spin_start()
    {
        spinner.spin(target);
    }

这段代码是从web上的一些例子中复制过来的。我使用<div id...>显示微调器

现在出现了一个问题。

我在姜戈有一个名为testScript的应用程序。该应用程序连接到不同页面以验证登录信息。这是一个“长”的过程,大约需要10秒。在此期间,我希望在我的登录页面上添加一个微调控件。在模板中,我有一个表单:

代码语言:javascript
复制
<form class="form-signin" action="/testScript/" method="post">

如果我想在这个表单的按钮中添加onclick事件,我的微调器就会冻结。

当我的testScript正在处理时,我如何显示微调器?

谢谢

EN

回答 1

Stack Overflow用户

发布于 2013-05-09 00:57:51

微调控件冻结是因为浏览器更改了页面并等待新页面响应。

您可以尝试使用an animated gif而不是spin.js作为微调器,但这也可能会冻结。

如果您的验证过程确实需要10+秒,那么最好的选择是使用Ajax提交帖子,然后在服务器响应后重定向或显示响应。

如何使用Ajax执行此操作取决于您的工作流程。使用Ajax发布的最简单的方法是使用jQuery,如果你不介意额外的库的话。响应后,在页面的div中显示响应,或者重定向到另一个视图。

代码语言:javascript
复制
$.ajax({
    url: "/testScript/",
    method: "POST",
    data: { //form data
    },
    success: function(data) {
        //Display response here
    },
    complete: function() {
        //Hide spinner here
    }
});

这是非常简单的,因为我没有关于你的应用程序或标记的足够详细的信息,但是这里有很多类似的解决方案可以帮助你。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16445808

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档