0

I'm trying to 'call' a function stored in my .js file from a .php page using this :

echo "<script>myFunction(arg1, arg2)</script>";

and it just doesn't go though. But it works when I use html instead :

<script>myFunction(arg1, arg2)</script>

I'll probably feel stupid when you'll provide me with the answer but I just don't get it. Thanks!

EDIT: sorry, more details. The function pops an alert dialog, and I'm calling it when the page just got loaded

4

3 回答 3

2

了解您所做的是指示 Web 服务器将该行 JavaScript 输出到网页。这将简单地发送给用户,如上所示。一旦用户的浏览器看到该行,它将在客户端(即:在用户的浏览器中)执行 JavaScript。JavaScript 不会也不能在服务器上执行(以防您暗示)。

要检查的一件事是您是否在实际函数声明之前调用该函数(在这种情况下它不起作用)。浏览到该网页并检查 HTML 源代码以查看该函数在页面上的显示位置。如果它在函数声明之前,则需要将它放在之后。

于 2013-02-20T10:57:21.770 回答
0

您的函数应该在 .js 文件中

//dummy.js
function myFunciton(arg1, arg2)
{
   alert (arg1 + arg2);
}

在您的 PHP 页面中

//dummy.php
<script src='dummy.js'></script>
<?php
    echo "<script>myFunction('arg1', 'arg2')</script>";
?>

请注意,您的函数应在调用之前进行初始化。而且,如果您将字符串传递给函数,请将它们括在引号中

于 2013-02-20T10:59:56.287 回答
0

确保您的 js 函数在之前声明或将调用包装到 document.ready 中。然后你的代码就可以工作了。

于 2013-02-20T11:04:48.830 回答