我知道我的問題與此相似:jQuery text() function loses line breaks in IE,但我的需求稍有不同。如何在jQuery中保留textarea中的換行符?
我在我的頁面上有一個textarea,它有一個由用戶輸入的「模板」字符串。 (它讓他們編寫一條消息,使用%NAME%作爲名稱的佔位符)。
用戶完成「模板」之後,我將它放入第二個textarea,它實際上用任何名稱替換%NAME%應該使用。我已經涵蓋了這部分功能,並且它完美地工作。
第二部分也適用於大多數瀏覽器。
但是,在Internet Explorer中,第一個textarea的換行符不會保留到第二個。因此,舉例來說,如果用戶進入第一箱:
Hi %NAME%,
How are you?
和名字來代替文字是「扎克」,第二個框將顯示爲:
Hi Zak,How are you?
我的代碼來獲得文成第二個框是:
var inviteTemplate=$('#invitationTemplate').text();
inviteTemplate=inviteTemplate.replace(/%NAME%/g,name);
$('#invitationText').html(inviteTemplate);
我假設的問題是使用.text()
得到textarea的內容。有什麼辦法可以讓IE保留第二個textarea的換行符?
嘗試使用.html()或.val() – 2011-02-02 02:40:39
如果這些是文本框,那麼你不應該使用val()而不是text()或html()? – 2011-02-02 02:42:51