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