【问题标题】:php do something with interval [closed]php用间隔做一些事情[关闭]
【发布时间】:2013-04-09 00:45:59
【问题描述】:

我有一个表格,这样说:

<form name="form1" action="" method="post">
<input type="text" name="tfcari" />
<input type="submit" name="btcari" />
</form>

<?php
if (isset($_POST['btcari'])) {

echo $_POST['tfcari'];  

?>

怎么做这样的:

点击提交 - 回显文本 - 等待 5 秒 - 回显文本 (自动) - 等待 5 秒 - 回显文本(自动) - ...

谢谢大家。

【问题讨论】:

  • 使用 Javascript 或 JQuery。
  • @Toby &lt;pedantic&gt;jQuery is JavaScript&lt;/pedantic&gt; :)
  • @Phil 我知道有人会这么说,但是我只是编写 javascript 并且有人实际上试图在没有 jquery 库的普通旧 javascript 中实现这一点,而不是仅仅使用 jquery 来实现它的想法太可怕了去思考。 :)
  • @Toby 真的吗? setTimeout()createTextNode()appendChild() 应该是您所需要的全部
  • @TobyAllen 我确实喜欢一些普通的 js,但我不得不承认,在 XHR 方面,我更喜欢依靠 jQuery 来完成繁重的工作。

标签: php continuous


【解决方案1】:

PHP 在发送到网站之前会进行预处理,所以如果你要设置 sleep 方法,它只会延迟页面显示那么长时间。

最简单的方法是使用 jQuery 进行 ajax 调用,然后使用 setTimeout 每 5 秒回显一次文本:

// Assuming jQuery is linked
$(function() {
    // Connect to the php file
    $.ajax({
        url: 'php-file-with-tfcari-var.php',
        type: 'POST',
        success: function(data) {
            // data is what the ajax call returns, let's assume it's the $_POST variable from php
            var tfcari = data.tfcari;
            // Now you can loop every 5 seconds with a self calling setTimeout method
            var poll = (setTimeout(function() {
                window.document.write(tfcari);
            }, 5000)();
        }
    });
});

【讨论】:

  • :) 嗯。明白知道。很好的解释,谢谢弗朗西斯科
  • 对不起菜鸟,我运行代码,好像不成功?怎么样?
猜你喜欢
  • 1970-01-01
  • 2019-10-03
  • 1970-01-01
  • 1970-01-01
  • 2015-11-02
  • 2023-04-05
  • 2012-03-03
  • 2011-02-18
  • 1970-01-01
相关资源
最近更新 更多