网络上的中间进度指示器

时间:2013-06-18 07:06:45

标签: php

我有一个HTML页面,带有复选框和提交按钮。当我点击“提交”时,我有一个PHP脚本,它接受每个选中的复选框,并执行与该复选框匹配的脚本。

由于某些脚本可能需要花费大量时间,因此我需要执行类似进度条或其他指示器的操作,以显示脚本仍在运行。这应该在提交原始表单时加载到单独的页面上。当脚本完成后(可能是几个小时后),页面应该重定向或提供指向另一个页面的链接。

我是PHPHTML的新手,想知道如何展示这种“动态”图标或进度页面,以及完成所有操作后的重定向。

谢谢!

2 个答案:

答案 0 :(得分:1)

在我看来,你会想要使用AJAX。一个简单的解决方案是在jQuery中显示动画,当脚本返回结果时,将其取出。这是应对的路线:

$('#myform').submit(function() {
    $(this).hide(); // hide the form
    $('#loading').show(); // make a previously-hidden 'loading' element visible, possibly a div with an animation image/background in it
    $.post('/myprocesspage.php', $(this).serialize(), function(data) {
        $('#loading').hide(); // done loading
        $('#done').html(data).show(); // Put the output of the script in #done element, and show it
    });
});

当然,您应该根据自己的需要进行修改。请不要只是复制/粘贴代码,了解它的作用以及它是如何工作的。我建议你查看jQuery API文档并阅读我使用的函数是如何工作的。然后,您可以将行为修改为您想要的任何内容。

答案 1 :(得分:0)

您应该使用AJAX(一种javascript脚本技术)提交表单,而不是重定向到另一个页面。查看this tutorial