Php 在倒计时结束后提交表格

Php 在倒计时结束后提交表格,php,javascript,Php,Javascript,我正试图在倒计时结束后提交文档(return\u url)。在我下面的当前代码中,文档是在倒计时开始后提交的。如何在提交文档\u url之前完成倒计时 代码: <body> <center> <form name="redirect"><font face="Helvetica"><b> Thank you! You will be redirected in<input type=

我正试图在倒计时结束后提交文档(
return\u url
)。在我下面的当前代码中,文档是在倒计时开始后提交的。如何在提交
文档\u url
之前完成倒计时

代码:

<body>
    <center>
        <form name="redirect"><font face="Helvetica"><b>
            Thank you! You will be redirected in<input type="text" size="1" style="font-size:25px" name="redirect2">seconds.</b></font>
        </form></form>
    </center>

    <form name="return_url" method="post" action="confirm.php">
        <input type="hidden" name="order" value="1" />
        <input type="hidden" name="price" value="100" />
    </form>
</body>
</html>

<script language="javascript" type="text/javascript">
    var targetURL="<?php print_r($_POST['url_retorno']);?>"
    var countdownfrom=10
    var currentsecond=document.redirect.redirect2.value=countdownfrom+1

    function countredirect(){
        if (currentsecond!=1){
            currentsecond-=1
            document.redirect.redirect2.value=currentsecond
        } else {
            window.location=targetURL
            return
        }
        setTimeout("countredirect()",1000)
    }

    countredirect()

    document.return_url.submit()    
</script>

非常感谢。您将被重定向到Unseconds。
var targetURL=“”
var倒计时从=10
var currentsecond=document.redirect.redirect2.value=countdownfrom+1
函数countredirect(){
如果(当前秒!=1){
当前秒-=1
document.redirect.redirect2.value=currentsecond
}否则{
window.location=targetURL
返回
}
setTimeout(“countredirect()”,1000)
}
countredirect()
document.return\u url.submit()

重要的是,你不应该自动为用户提交表单,这是一种糟糕的用户体验设计。相反,您可以在提交前等待,直到计时器启动后才禁用按钮。为此,您只需要使用javascript计时器

var timer = window.setInterval(updateClock,1000);
var countdown = 10;
function updateClock() {
   countdown--;
   if(countdown<=0) {
       window.clearInterval(timer);
       //ALLOW THE FORM TO SUBMIT
       document.getElementById("elementID").disabled = false
   } else {
       document.getElementById("elementID").value = "PLEASE WAIT "+countdown+" SECONDS";
   }
}
var timer=window.setInterval(updatelock,1000);
var倒计时=10;
函数updatelock(){
倒计时--;
如果(倒计时尝试以下操作:

setTimeout(function() {document.return_url.submit();}, 10000);
这就是你所需要的

或者,如果要显示计时器,请使用setInterval()


你不能只使用
窗口。setTimeout(countredirect,10000);
?另外,我没有把问题读得足够清楚。你的答案要完整得多。谢谢,你实际上完成了他们做得比较容易的事情。对我来说,这个选项是最好的。但问题是如果我用setTimeout替换文档。返回_url.submit()(函数(){document.return_url.submit();},10000);提交变为空(不发送表单输入值)。开始聊天对话
var seconds_left = 10;
var timer = setInterval(countdown, 1000);

function countdown() {
    seconds_left--;
    if (seconds_left) {
        console.log(seconds_left); //or modify the DOM
    } else {
        document.return_url.submit();
        clearInterval(timer);
    }
}