 
			
				13.07.2009, 11:05
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Новичок на форуме 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 08.07.2009 
					
					
					
						Сообщений: 9
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
			
			 
				(JS) textarea
			 
			
		
		
		
		Добрый день,  
Подскажите пожалуйста как при получении значения из поля textarea отловить все переводы строк.  
т.е. мне нужно передать на сервер данные в виде 1 строки в которой все нажатия энтер переделаны в \r\n 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				13.07.2009, 13:43
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 03.04.2009 
					
					
					
						Сообщений: 1,263
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		Так?: 
document.getElementById('myTexarea').value.split('\n').join('\\r\\n')
А собственно, зачем это надо, вроде бы и так все хорошо приходит?    
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				14.07.2009, 20:37
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 
 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 27.12.2008 
					
					
					
						Сообщений: 4,201
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 e1f, не знаю, что отправляется под linux, но под windows отправляется как раз \r\n 
 
Mila, нажатие Enter вставляет в строку перевод строки, так что суть вопроса не ясна 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				15.07.2009, 13:44
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 03.04.2009 
					
					
					
						Сообщений: 1,263
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		x-yuri, имеешь в виду, что надо так?
 
document.getElementById('myTexarea').value.split(/\r?\n|\r/).join('\\r\\n')
 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				15.07.2009, 13:55
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Рассеянный профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 06.04.2009 
					
					
					
						Сообщений: 2,379
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	| 
		
			Сообщение от e1f
			
		
	 | 
 
	| 
		document.getElementById('myTexarea').value.split(/\r?\n|\r/).join('\\r\\n')
	 | 
 
	
 
 а если пользователь напишет в texarea "\r\n" ?  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				15.07.2009, 14:32
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 03.04.2009 
					
					
					
						Сообщений: 1,263
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		тоесть? Два символа: '\'+'n' и один '\n' -- две большие разницы, емнип    
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				15.07.2009, 14:42
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Рассеянный профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 06.04.2009 
					
					
					
						Сообщений: 2,379
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 Пользователь наберет "\r\n", далее все переводы строки заменятся на тот же "\r\n" и как теперь различить на сервере, что набрал пользователь, а что добавлено скриптом? 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				15.07.2009, 14:44
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 
 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 27.12.2008 
					
					
					
						Сообщений: 4,201
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	| 
		
			Сообщение от e1f
			
		
	 | 
 
	| 
		x-yuri, имеешь в виду, что надо так?
	 | 
 
	
 
 я не знаю как нужно, я вообще не знаю, зачем это нужно. Я просто сказал, как оно под windows работает. Твой вариант под windows оставлял бы \r. А вообще я понял ТС так, что нужно чтобы было 2 символа (\r\n), а не четыре. Но вся эта тема как-то из пальца высосана. Надеюсь  Mila меня в этом переубедит    
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				15.07.2009, 16:27
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 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.
				
				
			
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				15.07.2009, 18:10
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 
 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 27.12.2008 
					
					
					
						Сообщений: 4,201
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	| 
		
			Сообщение от e1f
			
		
	 | 
 
	| 
		Хм. У меня выходит так:
	 | 
 
	
 
 Я смотрел, что отправляется на сервер: нажимал Enter в textarea, отправлял форму и смотрел на строку адреса. 
 
	
 
	| 
		
			Сообщение от x-yuri
			
		
	 | 
 
	| 
		Твой вариант под windows оставлял бы \r
	 | 
 
	
 
 это про первый вариант (split('\n')). Под opera и ie (в отличие от ff) переводы строки в javascript видны как \r\n  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
 
 |  
  |