Ввод значения входных данных не изменяет .val() входных данных?

#jquery

#jquery

Вопрос:

Снимок экрана 1: без изменений:

Скриншот 2: Изменен, но .val() показывает оригинал :

.val() всегда возвращает одно и то же, потому что в HTML текст между <textarea> тегами остается неизменным.

 <textarea id="suggested_text" name="suggested_text" style="width: 100%; height: 250px;">Enter your comment(s) then click submit.</textarea>
  

Как мне заставить это работать нормально? значит, я действительно могу получить значение того, что введено в поле?

Ответ №1:

Вы должны использовать

 $("#suggested_text").html()
  

вместо этого!

Вы можете увидеть это вживую:

http://jsfiddle.net/Z6rmb/

РЕДАКТИРОВАТЬ: только что понял, что по ссылке выше я использовал .val() , поэтому он также отлично работал для меня, а html, как я сначала предложил, нет!!!

Комментарии:

1. Согласен; не уверен, почему он не будет обновлен в нижнем фрагменте кода, но извлечение значения текстовой области, вероятно, следует выполнять с помощью .text() или .html()

2. Насколько я могу судить, это ничего не меняет. jQuery достаточно умен, чтобы проверять HTML текстовой области при вызове val() . ДОКАЗАТЕЛЬСТВО

3. если я использую text(), html() или val() , он все равно просто получит текст по умолчанию. Есть ли какой-то особый случай, о котором вы можете подумать, когда эти функции возвращают только значение текстовой области из onpageload ?

Ответ №2:

Работает для меня: http://jsfiddle.net/NFM9z /.

Ответ №3:

Согласно документации jQuery API:

Метод .text() нельзя использовать для ввода формы или скриптов. Чтобы задать или получить текстовое значение элементов ввода или текстовой области, используйте метод .val() . Чтобы получить значение элемента script, используйте метод .html() .

.val() является допустимым методом для доступа к значениям внутри a textarea .

Вы пытались получить доступ к значению за пределами консоли, вручную записывая в консоль при изменении текстовой области (я бы посоветовал прикрепить обработчик событий blur () к текстовой области для записи значения в консоль) или, возможно, с помощью Opera Dragonfly?