Ответ 1
Взято из документации для val()
:
Примечание. В настоящее время использование .val() для элементов textarea. возвращайте символы из значения, указанного в браузере. Когда это значение равно отправляется на сервер через XHR, однако возврат каретки сохраняется (или добавленные браузерами, которые не включают их в исходное значение). обходной путь для этой проблемы может быть достигнут с помощью valHook следующим образом:
$.valHooks.textarea = { get: function( elem ) { return elem.value.replace( /\r?\n/g, "\r\n" ); } };
Добавление вышеприведенного фрагмента в ваш javascript переопределит поведение по умолчанию val()
для текстовых областей и сохранит пробелы.