我试图从PHP循环调用JavaScript函数。该调用从PHP循环传递一个id,然后根据它是否在cookie中找到id来设置类。目前我只收到:从PHP调用JavaScript函数,同时页面加载
ReferenceError: getFaveClass() is not defined
我的代码如下 -
?>
<script>getFaveClass(<?php echo $row->id; ?>);</script>
<?php
有我丢失的东西或这样做的更好的办法?
我试图从PHP循环调用JavaScript函数。该调用从PHP循环传递一个id,然后根据它是否在cookie中找到id来设置类。目前我只收到:从PHP调用JavaScript函数,同时页面加载
ReferenceError: getFaveClass() is not defined
我的代码如下 -
?>
<script>getFaveClass(<?php echo $row->id; ?>);</script>
<?php
有我丢失的东西或这样做的更好的办法?
你写的东西没有问题(虽然我个人使用json_encode
以确保正确处理值)。
所有的错误意味着你还没有定义getFaveClass
函数。如果它位于外部.js
文件中,请确保包含它。
感谢您的帮助。这是一个愚蠢的错误 - getFaveClass在一个外部的.js文件中,并在页面底部被调用 - 已经将它移动到头部,并且一切正常。 – Tom 2013-02-27 07:51:47
如果输出id,脚本执行时数据应该在页面上。将PHP作为初始数据回复到JavaScript调用很好。我建议你检查并看看实际输出的是什么,而不是你的PHP源代码,以便调试JS错误。
您的问题可能是如果$row->id == ""
发生。
有你声明的功能getFaveClass()
,是那里的<?php echo $row->id; ?>
值请检查您的函数名要准确,包括在那里你一直在呼吁这个情况。
只要检查它应该运行。因为我看不出你曾经共享过的代码有什么问题。
'PHP = server-side; JS =客户side'。它根本行不通 – 2013-02-26 22:32:13
我意识到两种语言的重要性,但肯定可以在页面加载时调用函数吗?什么是实现这一目标的适当方式? – Tom 2013-02-26 22:34:36
@SamuelCook理论上可以在PHP生成页面时调用javascript函数。我已经看到了用于进度条的技巧。例如:http://www.php.net/manual/en/function.flush.php#52147。但是你需要刷新输出来做类似的事情。 – Tchoupi 2013-02-26 22:35:55