在javascript函数中转义引号

时间:2016-01-28 07:32:56

标签: javascript php

我正在尝试将变量传递给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>';

我试图用反斜杠\'\"逃脱,但他们不能工作。方法是什么?

1 个答案:

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