JavaScript обрабатывает переводы строк как \n
, однако, когда вы отправляете форму через HTTP, JavaScript не имеет к ней никакого отношения (кроме проверки текста).Windows обрабатывает символы новой строки как \r\n
, поэтому, когда вы используете Windows и нажимаете клавишу возврата в текстовом поле, она фактически вводит \r\n
в поле.Когда вы публикуете эти данные на сервере, JavaScript этого не делает (если вы не используете Ajax), а ваш браузер.Ваш браузер будет использовать те же настройки для перевода строки, что и ваша ОС, поэтому вы видите их в своем PHP-файле, но не в JavaScript.Различные ОС по-разному относятся к новым строкам.См. здесь для получения дополнительной информации.
Редактировать
Возврат каретки фактически происходит из старых команд принтера.Возврат каретки означал «отправить картридж принтера обратно в начало строки», а перевод строки (или перевод строки) означал «перейти к следующей строке на странице».