-4

我想将“$var_external”传递给 Javascript“SHOW”。

这里我调用函数:

<?php
include("test23.php");

$call_function = test23(); 
?>

这是函数 test23.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。

当 $var_external 在 PHP 函数中设置,它不起作用。

当我将 $var_external放在PHP 函数之外时,它可以工作。

为什么它在 PHP 函数中不起作用?

4

2 回答 2

0

有同样的问题,用''

var var_external =  '<?php echo $var_external; ?>';

如果 php echo text 似乎 java 脚本崩溃,如果 php echo int 则不会崩溃。

于 2013-11-09T20:56:28.360 回答
0

不要使用全局变量,养成习惯是不好的做法。

您应该将值作为参数传递给函数:

function test23( $var_external ){
  // do stuff to modify it
  return $var_external;
}

然后打印结果:

<?php print test23($var_external); ?>

很难给出更好的建议,因为我不知道这些值的真正用途,以及它们被修改的原因。

其他一些提示:

  • 该变量必须在函数外部创建才能global起作用。
  • 确保始终打印一个值,如果它打印一个空/null val,则 javascript 将中断。或者,使用引号,然后转换为数字或您需要的任何内容
于 2013-11-09T19:51:14.343 回答