У меня есть JSP-страница с куском кода проверки Javascript, который ограничивает определенное количество символов при отправке. Я использую <textarea>, поэтому я не могу просто использовать атрибут длины, например, в <input type="text">.
Я использую document.getElementById("text").value.length для получения длины строки. Я запускаю Firefox 3.0 в Windows (но я также тестировал это поведение с IE 6). Форма отправляется в сервлет J2EE. В моем сервлете Java длина строки параметра больше 2000!
Я заметил, что это можно легко воспроизвести, добавив возврат каретки в <textarea>. Я использовал Firebug, чтобы утверждать длину <textare>, и на самом деле это 2000 символов. На стороне Java, однако, возврат каретки преобразуется в стиль UNIX (\r\n вместо \n), поэтому длина строки отличается!
Я пропустил что-то очевидное здесь или что? Если нет, как бы вы надежно (кросс-платформенный/браузер), убедитесь, что параметр <textarea> ограничен.