Как остановить Chrome от добавления дополнительных разрывов строк в моем текстовом поле? - PullRequest
4 голосов
/ 29 апреля 2009

У меня есть форма в asp, которая делает некоторые ошибки JavaScript, проверяя их, показывает предварительный просмотр информации формы, прежде чем пользователь отправит ее в нашу базу данных. Чтобы включить легкое форматирование перед отправкой, мы заменяем все разрывы строк тегами.

<textarea name="DATA_Description" ROWS=30 wrap=on cols="30"><%=DATA_Description%></textarea>

Замена разрыва строки на

<%=replace(DATA_Description,vbcr,"<BR>")%>

Это прекрасно работает во всех браузерах, кроме Chrome. Chrome вставляет дополнительный разрыв строки в конце каждой строки в текстовой области. Мы используем текст в областях различной ширины с несколькими стилями шрифта, поэтому мне нужно, чтобы разрывы строк возникали только тогда, когда пользователь фактически вводит жесткий возврат ...

Есть предложения?

Ответы [ 2 ]

1 голос
/ 29 апреля 2009

Вы заменяете только возврат каретки, а не перевод строки, которые отображаются в текстовой области. Я бы не удивился, если бы Chrome в Windows использовал CRLF вместо просто LF, и я не ожидал бы только CR.

0 голосов
/ 29 апреля 2009

Я всегда использовал vbcrlf вместо vbcr, когда брал данные из текстовой области, которая хранилась в базе данных, и хотел показать ее как html, а не обратно в текстовой области (используя замену, как вы).

Я никогда не проверял, что произойдет, если я использую ОС Linux или Mac, которые используют только LF вместо CRLF (тогда не нужно было беспокоиться о поддержке Mac и Linux). И теперь, когда я думаю об этом, мне интересно, является ли использование CRLF или LF частью HTML-спецификации и одинаковым во всех операционных системах для любой области текста? Хммм.

...