我想将"$var_external"传递给Javascript"SHOW"。
在这里,我调用该函数:
<?php
include("test23.php");
$call_function = test23();
?>
这是函数测试23.php:
<?php
function test23() {
$var_external = 9999; // This doesn't work
print("<a href='"dummy'" id='"SHOW'">Activate script</a>");
}
?>
<script type="text/javascript">
$( function () {
$("a#SHOW").toggle( function() {
var var_external = <?php echo $var_external; ?>;
alert(var_external);
},
function () {
return false;
});
});
如果单击"激活脚本",$var_external应该传递给Javascript。
当在PHP函数中设置$var_external时,它不起作用。
当我把$var_external放在PHP函数之外时,它可以工作。
为什么它不能在PHP函数中工作?
不要使用全局变量,养成习惯是一种不好的做法。
您应该将值作为参数传递到函数中:
function test23( $var_external ){
// do stuff to modify it
return $var_external;
}
然后打印结果:
<?php print test23($var_external); ?>
很难给出更好的建议,因为我不知道这些值的真正用途,以及为什么要修改它们。
其他一些提示:
- 变量必须在函数外部创建
global
然后才能工作。 - 确保始终打印一个值,如果它打印一个空/空值,javascript 将中断。或者,使用引号,然后转换为数字或任何您需要的内容
有同样的问题,使用 ''
var var_external = '<?php echo $var_external; ?>';
如果 php 回显文本,似乎 java 脚本崩溃,如果 php echo int 不会崩溃。