我是Django的新手和这些东西,我需要一些提示或解决方案来添加微调器。 我使用spin.js,我用这种方式显示它:
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...>
现在有问题。
我在Django中有一个名为testScript的应用程序。该应用程序连接到不同的页面以验证登录信息。这是“漫长”过程,大约需要10秒。 在那个时候,我想在我的登录页面添加一个微调器。 在模板中,我有一个表单:
<form class="form-signin" action="/testScript/" method="post">
如果我想在这个表单的按钮中添加onclick事件,我的微调器会冻结。
我的testScript处理时如何显示微调器?
感谢名单
答案 0 :(得分:1)
由于浏览器已更改页面并等待新页面响应,因此微调器冻结。
您可以尝试使用an animated gif作为微调器而不是spin.js,但这可能会冻结。
如果您的验证过程确实需要10秒以上,那么您最好的选择是使用Ajax提交POST,然后在服务器响应后重定向或显示响应。
如何使用Ajax取决于您的工作流程。使用Ajax进行POST的最简单方法是使用jQuery,如果你不介意额外的库。一旦它响应显示页面上div的响应或重定向到另一个视图。
$.ajax({
url: "/testScript/",
method: "POST",
data: { //form data
},
success: function(data) {
//Display response here
},
complete: function() {
//Hide spinner here
}
});
由于我没有足够的有关您的应用程序或标记的详细信息,因此这是非常准确的,但是这里有很多类似的解决方案可以帮助您。