我正在尝试将变量传递给javascript函数。根据用户的选择,它可以是文本或图像。这里已经讨论过类似的问题,但我无法解决这个问题。
在php中,我的编码如下:
if ($choice == 1) {
$img = '<img src = "../folder/'.$_SESSION["img"].'">';
$hdrs .= "'".$img."','".$_SESSION['id']."'";
} else {
$hdrs = "'".$txt."','".$_SESSION['id']."'";
}
echo '<button type = "button" class="btn btn-success btn-lg btn-block" onclick = "dothis('.$hdrs.');"> OK</button>';
生成的html应该是这样的,但它不正确。
<button type = "button" class="btn btn-success btn-lg btn-block" onclick = "dothis('<img src = "../folder/file.jpg">','15');">OK</button>';
我试图用反斜杠\'
和\"
逃脱,但他们不能工作。方法是什么?
答案 0 :(得分:1)
尝试更新以下代码。由于引号冲突,反斜杠没有起作用的原因。
if ($choice == 1) {
//$img = '<img src = "../folder/'.$path.'">';
$img = "<img src = \'../folder/" . $_SESSION["img"] . "\'>";
$hdrs .= "'" . $img . "','" . $_SESSION["id"] . "'";
} else {
$hdrs = "'" . $txt . "','" . $_SESSION["id"] . "'";
}
echo '<button type = "button" class="btn btn-success btn-lg btn-block" onclick = "dothis(' . $hdrs . ');"> OK</button>';