我可以在PHP函数中添加javascript警报吗?如果有,怎么样?

时间:2010-11-22 14:20:17

标签: php javascript

  

可能重复:
  How to call a JavaScript function from PHP?

我可以在PHP函数中添加javascript警报吗?如果是,怎么样?

7 个答案:

答案 0 :(得分:22)

是的,你可以,虽然我 100%保证这不是你想要的或你的意思

<?php
    function do_alert($msg) 
    {
        echo '<script type="text/javascript">alert("' . $msg . '"); </script>';
    }
?>
<html><head><title>Hello</title></head>
<body>
<h1>Hello World, THis is my page</h1>
<?php
    do_alert("Hello");
?>
</body>
</html>

浏览器运行Javascript,服务器运行PHP。

您还可以通过服务器回送Javascript(不含HTML),然后通过动态创建包含该Javascript的<script>标记将该脚本包含到您的页面中。这实际上是在动态创建Javascript,以便使用正确的标题等注入您的页面。

如果要跟踪某些PHP脚本执行,那么可以使用trigger_error()创建日志条目,或者可以编写trace()函数来将字符串存储在缓冲区中并将它们添加到页。

如果您想跟踪Javascript,请参阅Firefox Firebug

PHP Headers API Documentation
On-demand Javascript at Ajax Patterns

答案 1 :(得分:12)

假设您的意思是当服务器到达php代码中的某个点时,您希望从浏览器弹出警报,答案是“否”。

当服务器运行您的PHP代码时,没有与浏览器的联系(直到响应开始返回)。在某些情况下,服务器可能会将内容流式传输回浏览器,在这种情况下,可能会有一些商定的约定,服务器要将内容流标记为立即提醒消息,但是我不认为这就是你在这里问的问题。

答案 2 :(得分:6)

是的,你可以。

echo "<script>alert (\"js inside php\")</script>";

答案 3 :(得分:3)

解释; PHP在服务器上编译,结果是纯HTML。因此,编译时静默过程中不会出现警报等。

如果要在PHP生成的HTML中显示警报;

<?php
   echo '<script type="text/javascript"> alert(\'Hi\'); </script>
?>

答案 4 :(得分:0)

是的,如果您将带有alert的Javascript代码发送到PHP的html页面。

不,如果你想通过执行服务器端代码而不是将JS发送到客户端浏览器来调用alert

答案 5 :(得分:0)

echo "<script type='text/javascript'>alert('alert text goes here');</script>";

但我不知道它是如何有用的,因为它只能在客户端工作。如果你想调试你的代码,你可以简单地在屏幕上打印它,但如果你使用警报处理引号,因为它们可以破坏javascript部分。

答案 6 :(得分:0)

您可以通过至少两种方式在PHP函数中输出Javascript警报():

A)归还:

function sendAlert($text) {
    return "<script type='text/javascript'>alert('{$text}');</script>";
}

B:直接输出:

function echoAlert($text) {
    echo "<script type='text/javascript'>alert('{$text}');</script>";
}