JS函数是
function func(arg){
alert(arg);
}
当我这样做时
echo "<div onclick=\"func($arg)\">Text</div>";
在PHP中,它不起作用
但是当我做的时候
echo "<div onclick=\"func()\">Text</div>";
它可以工作,弹出一个带有未定义文本的警报。
如何传递参数?
答案 0 :(得分:1)
你需要引用参数。 e.g。
<?php
$foo = 'bar';
?>
echo "function($foo) { ... }";
将生成代码
function(bar) { ... }
其中bar
将被解释为未定义的变量。
最安全的方法是通过json_encode()输出你的PHP变量,以保证你生成语法上有效的javascript。 e.g。
echo 'function(' . json_encode($foo) . ') { ... }';
会产生(在这种情况下)
function ('bar') { ... }
答案 1 :(得分:0)
您需要在引号中包含$arg
。例如:
echo "<div onclick=\"func('$arg')\">Text</div>";
(在arg
周围使用单引号,因为你在字符串中使用双引号)
答案 2 :(得分:0)
你可以这样做(如果当然存在$ args)
echo '<div onclick="func('.$arg.')">Text</div>';