为什么在使用javascript interval和clearInterval时我的代码仍然循环提交表单?

时间:2018-10-03 02:10:11

标签: javascript php

为什么我的代码仍然循环提交表单?

当加载页面延迟1秒,然后在同一时间clearInterval通过javascript提交表单时,我想知道为什么我的代码仍然循环提交表单?

<?PHP
session_start();
include("connect.php");
?>

<form class="form" id="fid" method="post" action="" ENCTYPE = "multipart/form-data">
<input type="text" id="support" name="support" value="555">
</form>
<script>
    var timer_var = null;

    timer_var = window.setInterval(function (){
        document.getElementById("fid").submit();
        window.clearInterval(timer_var);
    }, 1000);
</script>

<?PHP
if(isset($_POST["support"]))
{
?>
<script>
alert("test");
</script>
<?PHP
}
?>

1 个答案:

答案 0 :(得分:1)

如果该任务只应执行一次,我个人将使用setTimeout。

让我向您解释问题。页面加载时,您尝试执行一些代码。在此代码中,您提交的表单将重新加载页面。碰巧会导致无限循环。

如果您要提交数据而不重新加载页面,则可以发出ajax请求,将在输入字段中输入的数据发送到其中

在这里您可以找到一个非常清晰的解释: Submit form without reloading page