setTimeout函数不能与location.href一起使用

时间:2015-12-08 13:29:33

标签: javascript php

我想知道为什么这个代码没有重定向,当我在set.href中使用setTimeout函数时:

<?php
if( $s == 1 ){
    echo '<div class="success"><i class="fa fa-check-circle"></i><h3>Thank You!</h3>
    Your enquiry has been sent successfully.
    <br/>
    We will get back to you soon!</div>';
}
else{
    echo '<div>Your message sending failed!</div>';
}

echo "<script>setTimeout(location.href = '123.php', 2500);</script>";
?>

1 个答案:

答案 0 :(得分:1)

setTimeout的第一个参数需要是一个函数,所以你需要将命令放在一个函数中。即使像function(){ location.href = '123.php'; }这样的事情也可以:

<?php
if( $s == 1 ){
    echo '<div class="success"><i class="fa fa-check-circle"></i><h3>Thank You!</h3>
    Your enquiry has been sent successfully.
    <br/>
    We will get back to you soon!</div>';
}
else{
    echo '<div>Your message sending failed!</div>';
}

echo "<script>setTimeout(function(){ location.href = '123.php'; }, 2500);</script>";
?>