2013-07-02 40 views
0
参数

的JS功能使用JS函数在PHP

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

当我做

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

在PHP中,它不工作 但是当我做

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

它工程和弹出的未定义文本警报。

如何传递参数?

+0

你想通过什么?在onclick属性中,您需要拥有有效的Javascript。 '$ arg'是一个PHP变量吗? – thatidiotguy

回答

0

你需要在引号包裹$arg。例如:

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

(周围使用arg单引号,你正在使用的字符串双引号)

1

您需要引用参数。例如

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

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

将要产生的代码

function(bar) { ... } 

其中bar将被解释为未定义的变量。

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

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

将产生(在这种情况下)

function ('bar') { ... } 
+0

以更彻底的答案击败我。 +1。 –

0

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

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