0

可能重复:
如何在 JSP 上转义撇号或引号(由 javascript 使用)

我在使用 jquery 的 val() 设置 textarea 元素的值时遇到问题。

基本上,我有一个 JSP 文件,它接收一个名为“文本”的字符串参数。

Java code:
String text = (String) request.getParameter("text");

现在我希望我的 textarea 元素接收这个文本:

Javascript code:
$('#textarea_id').val('<%=text%>');

当我的文本不包含单引号(可能还有其他字符)时,它可以工作。

例如,对于文本 =

test'

发生此错误:

Uncaught SyntaxError: Unexpected token ILLEGAL
$('#textarea_id').val('test'');

我希望你们能理解。我需要一种方法来编码这个值......我尝试使用转义,所以引号被替换为 %27,但是在取消转义后它再次被替换并且错误发生了。

谢谢!

4

3 回答 3

1

您收到错误是因为 Javascript 使用 ' 字符来确定字符串的结尾。要在字符串中包含文字引号,请使用反斜杠转义引号。

$('#textarea_id').val('test\'');
于 2012-10-17T16:59:32.683 回答
0

您需要使用 Java 代码转义单引号。最终输出应如下所示

.val('test\'')
于 2012-10-17T16:59:34.230 回答
0

它应该是

$('#textarea_id').val('test \' ');
于 2012-10-17T17:00:19.393 回答