JQuery + Java设置字段值,带val()+单引号

时间:2012-10-17 16:58:03

标签: javascript jquery quote

  

可能重复:
  How to escape apostrophe or quotes on a JSP ( used by javascript )

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

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

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

现在我想让我的textarea元素接收这个文本:

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

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

例如,对于text =

test'

发生此错误:

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

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

谢谢!

3 个答案:

答案 0 :(得分:1)

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

$('#textarea_id').val('test\'');

答案 1 :(得分:0)

您需要使用Java代码转义单引号。最终输出应该看起来像

.val('test\'')

答案 2 :(得分:0)

应该是

$('#textarea_id').val('test \' ');