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


Using JS function with parameters in php

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) { ... }

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

最安全的方法是通过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>';