使用ajax以时间间隔循环提交表单

时间:2013-02-22 16:19:12

标签: php javascript jquery ajax forms

好的我有这部分代码

<script type="text/javascript" src="ajaxsbmt.js"></script>
<?php
for ($i=0; $i <=20; $i++) {
    if ($i == 0) {
        $valor = "";
        $desde= "";
        $inicio = "0";
         }
         else {
        $valor = ($i*50)+1;
        $desde = "_Desde_";
              }
    $analisar = $_POST['string']."".$desde."".$valor;
             // echo $valor;
    ?>
<div style="float:left;">
<form id="formproduto<?php echo $valor; ?>" name="form<?php echo $valor; ?>" action="#produto" method="post" onsubmit="xmlhttpPost('analisar.php', 'formproduto<?php echo $valor; ?>', 'produto', '&lt;img src=\'ajax-loader.gif\'&gt;'); return false;"><input type="hidden" value="<?=$analisar?>" name="analisar" />
<input type="submit" value="<?php if ($i == 0) { echo $inicio; } else { echo $valor; } ?>" />
</form>
</div>
<?php } ?>

<div id="produto"></div>

我需要的是提交循环(使用我已经存在的ajaxsbmt.js例程(获取表单值并显示到div“produto”

但是我希望这个脚本能够自动运行,例如在相隔5秒后相互延迟,例如

所以它真的是这样的, 当我按下提交(或“0”按钮)时,javascript(或其他内容)提交该表单等待结果,然后等待N秒直到循环的下一步。

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

另一种方法是使用setInterval函数,如下所示:

创建间隔

var ResInterval = window.setInterval('myAjaxCall()', 60000); // 60 seconds

var myAjaxCall = function() {
$.ajax({
    type: "GET",
    url: options.feedUrl,
    dataType: "xml",
    async:options.sync,
    success: function(xml) {
        // todo
    }
};

停止

window.clearInterval(resInterval);

从以下链接获取的代码:

How do I make Ajax update every 10 seconds in jquery?