[英]Escaping quotes in javascript function
I am trying to pass a variable to a javascript function. 我正在尝试将变量传递给javascript函数。 Depending on the user choice, it can be a text or an image. 根据用户的选择,它可以是文本或图像。 Similar issue has been discussed here, yet I am unable to solve this. 这里已经讨论了类似的问题,但我无法解决。
In php, I am coding like this: 在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>';
The generated html should be something like this, but it is not correct. 生成的html应该是这样的,但是它是不正确的。
<button type = "button" class="btn btn-success btn-lg btn-block" onclick = "dothis('<img src = "../folder/file.jpg">','15');">OK</button>';
I tried to escape with backslash \\'
and \\"
, but they don't work. What is the way around? 我试图用反斜杠\\'
和\\"
逃脱,但它们不起作用。怎么回事?
Try updating your following code. 尝试更新您的以下代码。 The reason the backslash didn't worked because of quotes conflict. 由于引号冲突,反斜杠不起作用的原因。
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>';
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.