#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()
вместо этого!
Вы можете увидеть это вживую:
РЕДАКТИРОВАТЬ: только что понял, что по ссылке выше я использовал .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?