将div HTML复制到textarea,但保留换行符

问题描述:

我正在研究问卷应用程序,其中一个功能是用户可以单击某个问题并对其进行编辑。我遇到的问题是将<br />标记转换为我的textarea将理解的换行符。将div HTML复制到textarea,但保留换行符

保存代码如下:

$('#questions').append("<div>"+$('textarea[name="question"]').val().replace(/\n/g, '<br />')+"</div"); 

这工作完全!将其转换回的代码看起来是这样的:

$('textarea[name="question"]').val($('#questions').eq(1).html().replace(/<br\s*\/?>/mg,"\n")); 

但由于某种原因textarea的将不接受新的生产线,只是捆绑所有的文字一起。

如何将<br />转换回我的textarea将会理解的换行符?

+0

也许[这个答案](http://*.com/a/5959455/983992)帮助 – 2013-04-10 14:00:31

+0

嗯......“ \ n'适合我:http://jsfiddle.net/FpUFk/ – jmar777 2013-04-10 14:01:47

+0

尝试\ r \ n而不是\ n? – bUKaneer 2013-04-10 14:04:47

尝试

$('textarea[name="question"]').val($('#questions').eq(1).html().replace(/\s*<br\s*\/?>\s*/g,"\n")); 

演示:Fiddle

+0

这正是我想要它做的!非常感谢! – 2013-04-10 14:16:54

您需要将<br>'s转换为HTML编码的换行符。

&#10;换行和&#13;回车。这样,您实际上是在解析新行(“\ n”)而不是将其显示为文本。

New line in text area