У меня есть переменная в JavaScript, которая содержит содержимое html textarea. Когда я печатаю переменную, все, что было введено пользователем, забываются. Есть ли способ найти пробелы в строке, чтобы я мог разделить каждую строку?Сохранение пробелов в textarea (переменная JavaScript)
ответ
HTML сворачивает adjacent whitespace - так что если вы показываете в HTML, это то, что вы видите.
Вы можете заменить пробелы неперекрывающимися пробелами:
- это гарантирует, что они будут отображаться в формате HTML и не будут свернуты.
Другой вариант заключается в размещении их в <pre>
элемент
Вы имеете в виду все переводы строк? 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>");
спасибо, переменная JavaScript уже содержала пробелы, HTML просто удалял их при печати. – Alex
здесь является функцией, вы можете использовать для вашего сценария:
function nl2br (str) {
var breakTag = ''; return (str + '').replace(/([^>\r\n]?)(\r\n|\n\r|\r|\n)/g, '$1'+ breakTag +'$2');
}
Спасибо, я лучше понимаю, как HTML обрабатывает ввод пользователя сейчас, но я должен был быть более конкретным о том, что мне нужно делать ... Важно, чтобы я знал, где пользователь ввел новый линии в текстовое поле. Есть ли способ найти пробелы в переменной JavaScript? – Alex
@Alex - А что вам нужно делать? – Oded