在php中使用带JS参数的JS函数

时间:2013-07-02 15:49:43

标签: php javascript parameters arguments

JS函数是

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

当我这样做时

echo "<div onclick=\"func($arg)\">Text</div>";
在PHP中,它不起作用 但是当我做的时候

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

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

如何传递参数?

3 个答案:

答案 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>';