5

我正在开发一个问卷应用程序,其中一个功能是用户可以单击一个问题并对其进行编辑。我遇到的问题是将<br />标签转换为我的 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 可以理解的新换行符?

4

2 回答 2

4

尝试

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

演示:小提琴

于 2013-04-10T14:09:54.617 回答
0

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

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

文本区域中的新行

于 2013-04-10T14:03:14.747 回答