javascript - JavaScript 中的转义引号

标签 javascript quotes escaping

我正在从数据库中输出值(它实际上并不向公众开放,但它对公司的用户开放——也就是说,我不担心 XSS)。

我正在尝试输出这样的标签:

<a href="" onclick="DoEdit('DESCRIPTION');">Click Me</a>

DESCRIPTION 实际上是来自数据库的一个值,类似于:

Prelim Assess "Mini" Report

我尝试将“替换为\”,但无论我尝试什么,Firefox 都会在 Assess 之后的空格后切断我的 JavaScript 调用,这会导致各种问题.

我一定错过了明显的答案,但我这辈子都想不通。

有人愿意指出我的愚蠢吗?

这是整个 HTML 页面(最终会是 ASP.NET 页面,但为了解决这个问题,我删除了除问题代码之外的所有内容)

<html>
    <body>
        <a href="#" onclick="DoEdit('Preliminary Assessment \"Mini\"'); return false;">edit</a>
    </body>
</html>

最佳答案

您需要将要写入的字符串转义到 DoEdit 以清除双引号字符。它们导致 onclick HTML 属性过早关闭。

在 HTML 上下文中使用 JavaScript 转义字符 \ 是不够的。您需要将双引号替换为正确的 XML 实体表示,"

关于javascript - JavaScript 中的转义引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2004168/

相关文章:

swift - 在 Swift 字符串文字中转义反斜杠

linux - 在 bash 头痛中转义变量

php - 用于检查字符串是否为 mysql 反斜杠的函数

php - 获取引号中的文本

javascript - 包括调整大小事件的方向更改

javascript - JS mongoDB 按 previousItem 属性排序(父子关系)

javascript - 为什么这个文件没有运行 example5.js 中的 javascript?

mysql - 何时在 MySQL 中使用单引号、双引号和反引号

mysql - MySQL 中何时使用单引号、双引号和反引号

javascript - 使用函数实现 Split 方法