我终于得到了要传递给 javascript 函数的 php 变量,但它们作为多个传递并收到警告。
使用未定义的常量 app_name - 假定为“app_name”
如何定义变量?
echo('<li> <a href="#" onClick="runthis(\''.str_replace("'", "\\'", $row[activity]).'\',\''.str_replace("'", "\\'", $row[app_name]).'\');">');
Javascript
function runthis(activity) {
alert(activity);
//$('#live-area').load('../assets/php/multibox.php?id=' + activity);
}
我正在尝试将 $row[activity] 和 $row[app_name] 与/连接起来 我的 php 在/上爆炸并破坏了变量
更新
这是我对数据所做的事情。
if (isset($_GET['id'])) {
$app = $_GET['id'];
$array2 = explode('/', $app);
$activity = $array2[0];
$app_name = $array2[1];
$SQL1 .= "WHERE activity = '$activity' ";
}
我认为我没有正确处理该字符串。
这应该是什么样子?
我将 echo onClick 更新为此
echo ('<li> <a href="#" onClick="runthis(\'' . $row['activity'] . '/' . $row['app_name'] . '\')">');
它正确地传递给 JavaScript,但是当 $_GET 加载它时我没有得到任何结果
最佳答案
您正在将 PHP 输出转储到 Javascript 上下文中。使用 json_encode() 正确执行此操作:
echo '<li>..... ', json_encode($row['activity']), '</li>';
就目前而言,您的数组键没有被引用,这可能会导致 PHP 发出各种警告,并且这些警告将在您的 JS 代码中输出,从而导致语法错误。
json_encode() 将为您处理所有必要的引用/转义。它也将比你想出的令人厌恶的东西更具可读性/可维护性。
<小时/>评论后续内容,分为 3 行,以便于阅读:
echo '<li> <a href="#" onClick="runthis(';
echo json_encode("{$row['activity']}/{$row['app_name']}");
echo ')">';
关于javascript - 在 php echo 中将 php 变量和符号连接到 javascript 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25793203/