从php运行JavaScript函数if

时间:2014-04-19 16:42:44

标签: javascript php html

我必须使用PHP变量运行JavaScript,代码具有PHP if语句,如果真正的javascript将执行,但脚本使用第二个PHP变量。

<?php
   if ($time_close_option == 1){
      echo '<script type="text/javascript">';
      // close the div in $timeoutdiv secs
      echo 'window.setTimeout("closePromoSpace();",' <?php echo $timeoutdiv;?>);';
      echo 'function closePromoSpace()
      {
          document.getElementById("promospace").style.display=" none";
      };';
      echo'</script>';
   }
?>  

3 个答案:

答案 0 :(得分:1)

您似乎将$timeoutdiv用作字符串,而不是数字。尝试

<?php if ($time_close_option == 1) { ?>
<script type="text/javascript">
    // close the div in $timeoutdiv secs
    window.setTimeout(closePromoSpace(), <?php echo $timeoutdiv;?>);
    function closePromoSpace()
    {
        document.getElementById("promospace").style.display=" none";
    };
</script>
<?php  } ?>  

请注意,我们可以通过不使用echo语句,但通过在php和html上下文之间切换来清理代码。

答案 1 :(得分:0)

<?php if ($time_close_option == 1)
{
    echo '<script type="text/javascript">';
    echo 'function closePromoSpace()
    {
        document.getElementById("promospace").style.display="none";
    }';
    echo "window.setTimeout(closePromoSpace, $timeoutdiv);";
    echo '</script>';
}
?>

答案 2 :(得分:0)

<script type="text/javascript">
    <?php
    if ($time_close_option == 1)
     {?>
       window.setTimeout(closePromoSpace, '<?php echo $timeoutdiv; ?>');
       function closePromoSpace()
       {
         document.getElementById("promospace").style.display = "none";
       }
    <?php
     } ?> 
</script>

试试这个