1

在我的代码中,我需要将实例变量中存在的值传递给 javascript,然后使用该值设置到 textarea。

$('textarea.myclass').val('<%= @text_value %>');

但是如果变量@text_value包含\n(this is\n demo) 那么,它会导致 javascript 错误,页面显示完全一样,中间用空格分隔,

$('textarea.myclass').val('this is 
   // error message over here 
demo');

我有什么办法可以处理这个?

4

2 回答 2

1

我也遇到过这种情况,我只是逃过了\to \\,所以最后\nto \\n\rto\\r

$('textarea.myclass').val('<%= @text_value.gsub("\r","\\r").gsub("\n","\\n") %>');

希望这也能纠正你的错误。

于 2013-09-14T19:26:36.220 回答
1

我能想到的最好的答案是选择一个变量。未经测试,这可能是您正在寻找的答案:

var newline = "\n";
$('textarea.myclass').val('this is '+newline+' demo');

正如 SilverBlade 建议的那样,也许双反斜杠可以解决问题。

于 2013-09-14T19:27:38.217 回答