[英]How do you preserve the line breaks in a textarea in jQuery?
我知道我的問題與這個問題非常相似: jQuery text()函數在IE中丟失了換行符 ,但我的需求略有不同。
我的頁面上有一個textarea,它有一個由用戶輸入的“模板”文本字符串。 (它允許他們使用%NAME%作為名稱的占位符來編寫消息。)
在用戶完成“模板”之后,我將其放入第二個textarea中,該文本實際上將%NAME%替換為應該使用的任何名稱。 我已經涵蓋了該功能的一部分,並且它完美地運行。
第二部分也適用於大多數瀏覽器。
但是,在Internet Explorer中,第一個textarea的換行符不會保留到第二個。 例如,如果用戶輸入第一個框:
Hi %NAME%,
How are you?
替換文本的名稱是“Zak”,第二個框將顯示為:
Hi Zak,How are you?
將文本放入第二個框的代碼是:
var inviteTemplate=$('#invitationTemplate').text();
inviteTemplate=inviteTemplate.replace(/%NAME%/g,name);
$('#invitationText').html(inviteTemplate);
我假設問題是使用.text()
來獲取textarea的內容。 有什么方法可以讓IE保留換行符到第二個textarea?
您正在將數據作為文本讀取並將其寫為HTML。 您是否嘗試過使用HTML BR標記替換換行符? 例如
inviteTemplate = inviteTemplate.replace(/\n/g, '<br>');
我很確定能做你想做的事。
我可以確認,在IE9 beta中,您可以將文本從一個TEXTAREA元素傳輸到另一個TEXTAREA元素,並保留換行符。
現場演示: http : //jsfiddle.net/LWjP6/1/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.