2015-10-19 2 views
0

В Документах JQuery, упоминается, чтоПочему возврат каретки jQuery's val()?

В настоящее время, используя .val() на полоски элементов текстовой области каретки символы возврата из браузера сообщили значения. Когда это значение отправляется на сервер через XHR, однако возврат каретки сохраняется (или добавляется браузерами, которые не включают их в исходное значение). Обойти эту проблему можно достичь, используя valHook следующим образом:

  1. Почему JQuery в VAL) возврат каретки (стрип?
  2. Кажется, что в Windows текстовые строки новой строки представлены \ n. В Mac это представлено \ r? Если бы это было бы зачистки \ r вызывают проблему?
  3. Что означает, когда документы говорят «через XHR, однако, возврат каретки сохраняется»?

ответ

0

Я получил это по этой ссылке http://bugs.jquery.com/ticket/9007 и сделать какой-то смысл ...

При запросе от значения TEXTAREA элемента, в «.val()» код удаляет все символы возврата каретки от значения, указанного в браузере.

Однако, когда значение передается на сервер, каретка возвращается сохраняются (или добавлены, браузеры, которые не включают их в необработанного значения), и (с # 6876) JQuery делает, что они» re в сериализованной версии для XHR (XMLHttpRequest - это API, доступный для языков сценариев веб-браузера, таких как JavaScript. Он используется для отправки HTTP или HTTPS-запросов на веб-сервер и загрузки данных ответа сервера обратно в скрипт) цели.

Проблемы с несоответствием поля как сообщает «.val()» и фактическое содержание представлены в том, что при предоставлении рода „MAXLENGTH“ объект, чтобы сообщить о доступных символах в текстовом поле, что код должен учитывать разницу в случаях, когда на сервере сохраняются сообщения каретки (по моему опыту, очень вероятная вещь ). Другими словами, «обратный отсчет персонажа» должен принимать с учетом того факта, что когда значение textarea (как сообщается jQuery) содержит символы новой строки, то его фактическая длина там, где это имеет значение - в базе данных или на стороне сервера код подтверждения - больше на количество строк новой строки.

Теперь, очевидно, эту математику легко сделать, и может быть всякого рода добродетель в лишении этих возвратов каретки. Поведение не документально ясно, насколько я могу судить; он определенно отсутствует в файле описание ".val()". Мое замечание состоит в том, что на самом деле это несоответствие неизвестно многим авторам точно такого типа объекта , который я описал выше.

Надеюсь, что это помогает понять это поведение.

Смежные вопросы