2013-04-10 62 views
4

我正在研究問卷應用程序,其中一個功能是用戶可以單擊某個問題並對其進行編輯。我遇到的問題是將<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://stackoverflow.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

回答

2

嘗試

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

演示:Fiddle

+0

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

0

您需要將<br>'s轉換爲HTML編碼的換行符。

&#10;換行和&#13;回車。這樣,您實際上是在解析新行(「\ n」)而不是將其顯示爲文本。

New line in text area