Подтвердить что ты не робот

Textarea не получает обновленный текст в jQuery

Итак, у меня есть вид бритвы:

@{
    int i=1;
    foreach(var story in Model.Storylines)
    {
        <span style="float:left;">Storyline @i</span> <span style="float:right; margin-right:5px;">Character Count: @story.CharCount</span><br /><br />
        <textarea [email protected]("entry"[email protected]) rows="5" style="width:730px; overflow:auto;">@story.Description</textarea><br /><br />
        i++;
    }
}

Таким образом, в textarea с id entry1 есть описание, подобное "это история", когда страница изначально загружается. Как только я напечатаю что-то в этой области текста, а затем нажмите кнопку, единственная функция которой:

alert($("#entry1").text());

Я все еще получаю "это история". Почему текст не обновляется с текстом, который я ввел?

4b9b3361

Ответ 1

Вы хотите использовать $("#entry1").val() для получения текста в текстовом поле.

Ответ 2

Вы хотите использовать .val() в отличие от .text(), так как это доступ к содержимому <textarea>:

alert($("#entry1").text());

должен быть:

alert($("#entry1").val());

Ответ 3

.val вернет содержимое текстовой области

http://api.jquery.com/val/

Метод .val() в основном используется для получения значений элементов формы

http://api.jquery.com/text/

В отличие от метода .html(),.text() может использоваться как в XML, так и в HTML-документах. Результатом метода .text() является строка, содержащая комбинированный текст всех согласованных элементов.

Ответ 4

Я думаю, что текст, почему .text() не работает, потому что свойство text получает текстовое значение между тегом textarea, и это значение не обновляется при изменении значения текстового поля.

Введенный текст сохраняется в атрибуте value элемента управления textarea.

здесь fiddle, показывающий пример. jQuery val() выбирает одно и то же значение атрибута, поэтому вы можете использовать val()