javascript - 在 onclick 方法 JSP 生成的文本中转义单引号

标签 javascript jquery html jsp onclick

我有以下链接
<a href="#editModal" class="modal-with-form fa fa-edit" onclick="createEditPanel('/notes', '${note.getRequiredInfoFieldValue('note-title')}', '${note.getRequiredInfoFieldValue('note-title')}', ${note.getRequiredInfoFieldValue('note-text')});"></a>


${note.getRequiredInfoFieldValue('note-text')}有时文本中会有单引号或双引号,从而导致错误。 我需要能够转义文本。

我有以下内容
<script> var text = '${note.getRequiredInfoFieldValue('note-text')}'; text = text.replace(/\"/g,'\\"'); </script>

它可以转义字符,但简单地将文本变量放入方法中是行不通的。它是空的。

最佳答案

  1. 使用

    ${fn:replace(note.getRequiredInfoFieldValue('note-text'),/\"/g,'\"')}

    直接在onclick内。

这样它将用转义序列字符替换单引号或双引号。

显然你需要使用以下方式导入 jSTL lib:

<%@ taglib uri = "http://java.sun.com/jsp/jstl/functions" prefix = "fn" %>
  • 使用
  • <c:out value="${note.getRequiredInfoFieldValue('note-text')}"/>直接在 onclick 内部。

  • Use ${fn:escapeXml(note.getRequiredInfoFieldValue('note-text'))}
  • 最推荐使用第三种方法,因为您无需手动转义特定符号。

    关于javascript - 在 onclick 方法 JSP 生成的文本中转义单引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44333886/

    相关文章:

    javascript - 具有多项选择的下拉列表

    JavaScript HTML DOM 事件监听器不起作用

    javascript - 有没有办法在 Firefox 扩展中更改 cookie 时监听事件

    javascript - 如何找出在 Chrome 开发工具中添加样式属性的位置?

    javascript - 如何在 Promise 中捕获未捕获的异常

    html - 根据 child 的高度设置 parent 的高度

    html - 介绍页面中的响应式图像和视频

    javascript - super 函数如何访问子类中的另一个 super 函数?

    jQuery $ ('<p>' ) 和 $ ('p' ) 有什么区别

    javascript - 将标签设置为图像 "alt"属性 - Google 跟踪代码管理器