Поле предварительного просмотра Javascript замените \ n на <br> - PullRequest
1 голос
/ 16 февраля 2012

У меня есть текстовая область, которая обновляет div ниже для окна предварительного просмотра. Проблема заключается в том, что когда вы нажимаете Enter, в окне предварительного просмотра также должен быть введен ввод. Но то, что он делает, это 1 раз изменяет \ n на br, тогда остальные просто заменяются пробелом. Я обычно не использую javascript, поэтому я сбит с толку.

Мой код:

<div class='fl' ><textarea id='textbox' onkeyup="document.getElementById('preview').innerHTML=document.getElementById('textbox').value.replace('\n','<br />');" name='description' class='arial f12' style='width:400px;height:200px;resize:vertical;'></textarea></div>
<div id='preview' class='f12 arial p10' style='background-color:#efefef;'></div>

Пример:

1
2 * * +1010 3
4

выходит как:

1
2 3 4

Спасибо, ребята!

Ответы [ 2 ]

1 голос
/ 16 февраля 2012

Там, где написано .replace('\n','<br />'), используйте это вместо .replace(/\n/g,'<br />')

/g означает "глобальный", как в слове "заменить все совпадения".Без него заменяется только первый матч

1 голос
/ 16 февраля 2012

Попробуйте:

value.replace(/\n/g,'<br />')

<div class='fl' ><textarea id='textbox' onkeyup="document.getElementById('preview').innerHTML=document.getElementById('textbox').value.replace(/\n/g,'<br />');" name='description' class='arial f12' style='width:400px;height:200px;resize:vertical;'></textarea></div>

/ g делает его глобальной заменой (все случаи)

...