简体   繁体   English

在JavaScript函数中转义引号

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM