Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 13.07.2009, 11:05
Новичок на форуме
Отправить личное сообщение для Mila Посмотреть профиль Найти все сообщения от Mila
 
Регистрация: 08.07.2009
Сообщений: 9

(JS) textarea
Добрый день,
Подскажите пожалуйста как при получении значения из поля textarea отловить все переводы строк.
т.е. мне нужно передать на сервер данные в виде 1 строки в которой все нажатия энтер переделаны в \r\n
Ответить с цитированием
  #2 (permalink)  
Старый 13.07.2009, 13:43
Аватар для e1f
e1f e1f вне форума
Профессор
Отправить личное сообщение для e1f Посмотреть профиль Найти все сообщения от e1f
 
Регистрация: 03.04.2009
Сообщений: 1,263

Так?:
document.getElementById('myTexarea').value.split('\n').join('\\r\\n')

А собственно, зачем это надо, вроде бы и так все хорошо приходит?
Ответить с цитированием
  #3 (permalink)  
Старый 14.07.2009, 20:37
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

e1f, не знаю, что отправляется под linux, но под windows отправляется как раз \r\n

Mila, нажатие Enter вставляет в строку перевод строки, так что суть вопроса не ясна
Ответить с цитированием
  #4 (permalink)  
Старый 15.07.2009, 13:44
Аватар для e1f
e1f e1f вне форума
Профессор
Отправить личное сообщение для e1f Посмотреть профиль Найти все сообщения от e1f
 
Регистрация: 03.04.2009
Сообщений: 1,263

x-yuri, имеешь в виду, что надо так?
document.getElementById('myTexarea').value.split(/\r?\n|\r/).join('\\r\\n')
Ответить с цитированием
  #5 (permalink)  
Старый 15.07.2009, 13:55
Аватар для Riim
Рассеянный профессор
Отправить личное сообщение для Riim Посмотреть профиль Найти все сообщения от Riim
 
Регистрация: 06.04.2009
Сообщений: 2,379

Сообщение от e1f
document.getElementById('myTexarea').value.split(/\r?\n|\r/).join('\\r\\n')
а если пользователь напишет в texarea "\r\n" ?
Ответить с цитированием
  #6 (permalink)  
Старый 15.07.2009, 14:32
Аватар для e1f
e1f e1f вне форума
Профессор
Отправить личное сообщение для e1f Посмотреть профиль Найти все сообщения от e1f
 
Регистрация: 03.04.2009
Сообщений: 1,263

тоесть? Два символа: '\'+'n' и один '\n' -- две большие разницы, емнип
Ответить с цитированием
  #7 (permalink)  
Старый 15.07.2009, 14:42
Аватар для Riim
Рассеянный профессор
Отправить личное сообщение для Riim Посмотреть профиль Найти все сообщения от Riim
 
Регистрация: 06.04.2009
Сообщений: 2,379

Пользователь наберет "\r\n", далее все переводы строки заменятся на тот же "\r\n" и как теперь различить на сервере, что набрал пользователь, а что добавлено скриптом?
Ответить с цитированием
  #8 (permalink)  
Старый 15.07.2009, 14:44
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

Сообщение от e1f
x-yuri, имеешь в виду, что надо так?
я не знаю как нужно, я вообще не знаю, зачем это нужно. Я просто сказал, как оно под windows работает. Твой вариант под windows оставлял бы \r. А вообще я понял ТС так, что нужно чтобы было 2 символа (\r\n), а не четыре. Но вся эта тема как-то из пальца высосана. Надеюсь Mila меня в этом переубедит
Ответить с цитированием
  #9 (permalink)  
Старый 15.07.2009, 16:27
Аватар для e1f
e1f e1f вне форума
Профессор
Отправить личное сообщение для e1f Посмотреть профиль Найти все сообщения от e1f
 
Регистрация: 03.04.2009
Сообщений: 1,263

Хм. У меня выходит так:
'a\r\nb'.split(/(\r?\n|\r)/) == ["a", "\r\n", "b"];
'a\r\rb'.split(/(\r?\n|\r)/) == ["a", "\r", "", "\r", "b"];
'a\nb'.split(/(\r?\n|\r)/) == ["a", "\n", "b"];


UPD: И все-таки чего-то я не понимаю: что все же нужно -- заменить все переводы строк на Win-style? Вроде бы вот так работает (c Win/Linux/Mac переводами строк):
str.split(/(\r?\n|\r)/).join('\r\n')

Последний раз редактировалось e1f, 15.07.2009 в 16:34.
Ответить с цитированием
  #10 (permalink)  
Старый 15.07.2009, 18:10
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

Сообщение от e1f
Хм. У меня выходит так:
Я смотрел, что отправляется на сервер: нажимал Enter в textarea, отправлял форму и смотрел на строку адреса.

Сообщение от x-yuri
Твой вариант под windows оставлял бы \r
это про первый вариант (split('\n')). Под opera и ie (в отличие от ff) переводы строки в javascript видны как \r\n
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как взять выделенный текст из textarea? fankiss Общие вопросы Javascript 5 13.02.2016 14:36
Скрыть ссылку на js Googert Общие вопросы Javascript 10 21.02.2012 17:29
Самая лучшая книга по JS? ulandj Оффтопик 2 06.04.2009 11:35
ширина textarea underW Элементы интерфейса 2 31.03.2009 14:45
Загрузка дополнительного js кода с сервера Anonymous2008 Общие вопросы Javascript 5 20.11.2008 12:33