Я знаю, что мой вопрос очень похож на этот: jQuery text() function loses line breaks in IE, но мои потребности немного разные.Как сохранить разрывы строк в текстовом поле в jQuery?
У меня есть текстовая область на моей странице, в которой есть строка текста «шаблона», вводимая пользователем. (Позволяет им писать сообщение, используя% NAME% в качестве владельца места для имени.)
После того, как пользователь заканчивает «шаблон», я помещаю его во второе текстовое поле, которое фактически заменяет% NAME% на любое имя должен быть использован. У меня есть эта часть функции, и она отлично работает.
Вторая часть отлично работает в большинстве браузеров.
Однако в Internet Explorer линия, разбивающаяся с первого текстового поля, не сохраняется во втором. Так, например, если пользователь вошел в первое поле:
Hi %NAME%,
How are you?
И имя, чтобы заменить текст был «Зак», второе окно будет отображаться как:
Hi Zak,How are you?
Мой код, чтобы получить текст во второй коробке:
var inviteTemplate=$('#invitationTemplate').text();
inviteTemplate=inviteTemplate.replace(/%NAME%/g,name);
$('#invitationText').html(inviteTemplate);
Я предполагаю, что проблема с использованием .text()
, чтобы получить содержимое текстового поля. Есть ли способ, которым я могу заставить IE сохранить разрывы строк во второй текстовой области?
попробуйте использовать .html() или .val() –
Если это текстовые поля, то разве вы не должны использовать val(), а не text() или html()? –
@Sime: о, извините. Я имел в виду textarea! – Zak