2012-04-23 83 views
0

我有一个简单的电子邮件完成。我希望这个电子邮件表单在一个流程中运行。用户将提交一个查询。他将不得不等待很短的时间才能获得结果。在这段短时间内,我希望屏幕显示我的电子邮件表单,并且每5秒钟不断刷新一次,当过程完成并且结果准备就绪时,我希望表单离开,脚本继续到创建的结果页面。PHP在进程运行期间刷新临时表单

我在想JavaScript吗?

 
    function timeRefresh(timeoutperiod){ 
    setTimeout("location.reload(true);",timeoutPeriod); 
有什么建议吗?

+1

你自己的想法做你想做的事吗? – Armatus 2012-04-23 12:04:12

+0

你可以使用XmlHttpRequest发送一个小的'ping'到服务器来检查更新。这是大多数聊天系统的工作原理。如果您想运行搜索,该技术称为“长轮询”。 – rlemon 2012-04-23 12:04:20

+0

你将如何查询过程中的状态在PHP?你有没有写过,是客户端唯一的问题?请进一步说明你需要什么或你想要做什么 – worenga 2012-04-23 12:06:09

回答

0

可以使用AJAX请求

和执行查询时所发送的请求表明您可以使用这一个灯箱,我喜欢它

http://www.jacklmoore.com/colorbox

后的反应从服务器回来你检查文本框是否为空,如果它的空关闭灯箱,否则让用户完成表格并关闭它

如果您需要代码,请发表评论


// show light box 
$.ajax({ 

        url: 'QueryFile.php', 
        type:'post', 
        data:{variable:value,}, 
        dataType:'html', 
        success: function(data) { 
        //close modal box 
        }, 
       error:function(error) 
       { 
        console.log(error); 
        alert("Sorry there was an error while performing your query "); 
       } 
       }); 
+0

谢谢这是我需要的。对不起,我正在教myslef Php,并不熟悉AJAX请求。我已阅读了一些关于它的内容,但仍不完全确定如何执行此操作。 – user1338194 2012-04-23 12:15:44

+0

非常感谢。 – user1338194 2012-04-23 12:43:04

+2

我建议你阅读XmlHttpRequest(这是用来从静态页面将数据传递到服务器的方法)。至少知道当你使用$魔法时幕后发生了什么。或替代品包括像http://rlemon.github.com/Little-XHR这样的东西,有很多小的库在那里有很多选项。至少你可以通过阅读它们来学习一些东西。 – rlemon 2012-04-23 12:57:06