PHP函数的PHP输出值

时间:2011-08-24 18:47:39

标签: php javascript

<html>
<script type="text/javascript">
function show_alert()
{
  alert("I am an alert box!");
}
</script>
<body>
<?php
$x = 8;

if($x ==10){
  echo "Hi";
}
else{
  echo 'show_alert()';
}
?>

</body>
</html>

如何让echo输出show_alert()的值?

5 个答案:

答案 0 :(得分:5)

更改

echo 'show_alert()';

echo '<script>show_alert()</script>';

以便浏览器知道将show_alert()视为函数调用而非常规HTML文本。

答案 1 :(得分:4)

您需要将其包装在脚本标记中:

if($x ==10){
  echo "Hi";
}
else{
  echo '<script type="text/javascript">show_alert();</script>';
}

请注意,这不会等到页面加载完毕后才能调用show_alert()。一旦浏览器到达页面呈现中的这一点,就会显示警报,否则警报框后面可能会不完整。如果您希望它等到整个页面加载,请在<body onload>

中放置要调用的条件
<body <?php if ($x != 10) {echo 'onload="show_alert();"';} ?>>
   <?php 
     if ($x == 10)
     {
         echo "Hi!";
     }
   ?>
</body>

答案 2 :(得分:3)

如果您的意思是在浏览器呈现/评估该行时调用showAlert()

echo '<script type="text/javascript">show_alert();</script>';

如果您的意思是在PHP中获取showAlert()的值,则不能 - PHP是server-side语言。


此:

echo 'show_alert()';

只会在页面上打印“showAlert()”,除非您已经打开了<script>标记。

答案 3 :(得分:0)

我认为您可能对客户端和服务器端代码之间的区别感到困惑。 但是,如果你正确使用这两个,并且你想让它出现:

echo '<script type="text/javascript">show_alert();</script>';

答案 4 :(得分:0)

这在很大程度上取决于你想要调用show_alert()javascript函数的时间。通过您正在使用的PHP代码进行猜测,我将假设您希望在页面加载后立即调用javascript函数,在这种情况下,您可能希望在正文加载之前使用PHP,并添加“ onload“属性事件处理程序到您的body标签:

if($x ==10){
   echo '<body>';
}
else{
  echo '<body onload="show_alert();">';
}