0

JS函数是

function func(arg){  
    alert(arg);  
}

当我做

echo "<div onclick=\"func($arg)\">Text</div>";

在php中,它不起作用但是当我这样做时

echo "<div onclick=\"func()\">Text</div>";

它可以工作,并弹出带有未定义文本的警报。

我如何传递论点?

4

3 回答 3

1

您需要引用论点。例如

<?php
$foo = 'bar';
?>

echo "function($foo) { ... }";

将产生代码

function(bar) { ... }

wherebar将被解释为未定义的变量。

最安全的方法是通过 json_encode() 输出您的 PHP 变量,以保证您生成的 javascript 语法有效。例如

echo 'function(' . json_encode($foo) . ') { ... }';

这将产生(在这种情况下)

function ('bar') { ... }
于 2013-07-02T15:52:49.120 回答
0

您需要$arg用引号括起来。例子:

echo "<div onclick=\"func('$arg')\">Text</div>";

(使用单引号arg作为字符串使用双引号)

于 2013-07-02T15:52:50.203 回答
0

你可以这样做(如果 $args 当然存在)

echo '<div onclick="func('.$arg.')">Text</div>';
于 2013-07-02T15:54:29.377 回答