<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()的值?
答案 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();">';
}