2012-02-04 4 views
-1

У меня есть переменная в JavaScript, которая содержит содержимое html textarea. Когда я печатаю переменную, все, что было введено пользователем, забываются. Есть ли способ найти пробелы в строке, чтобы я мог разделить каждую строку?Сохранение пробелов в textarea (переменная JavaScript)

ответ

0

HTML сворачивает adjacent whitespace - так что если вы показываете в HTML, это то, что вы видите.

Вы можете заменить пробелы неперекрывающимися пробелами:   - это гарантирует, что они будут отображаться в формате HTML и не будут свернуты.

Другой вариант заключается в размещении их в <pre> элемент

+0

Спасибо, я лучше понимаю, как HTML обрабатывает ввод пользователя сейчас, но я должен был быть более конкретным о том, что мне нужно делать ... Важно, чтобы я знал, где пользователь ввел новый линии в текстовое поле. Есть ли способ найти пробелы в переменной JavaScript? – Alex

+0

@Alex - А что вам нужно делать? – Oded

0

Вы имеете в виду все переводы строк? HTML игнорирует новые строки и по умолчанию обрывает пробелы. Распечатайте их внутри <pre> тега, или проверить свойство CSS white-space: http://www.w3schools.com/cssref/pr_text_white-space.asp

Вы также можете заменить новую строку с <br> тегами с помощью:

while (str.indexOf("\n") > -1) str = str.replace("\n","<br>"); 
+0

спасибо, переменная JavaScript уже содержала пробелы, HTML просто удалял их при печати. – Alex

1

здесь является функцией, вы можете использовать для вашего сценария:

function nl2br (str) { 
var breakTag = ''; return (str + '').replace(/([^>\r\n]?)(\r\n|\n\r|\r|\n)/g, '$1'+ breakTag +'$2'); 
}