Ответ 1
Вы хотите использовать $("#entry1").val()
для получения текста в текстовом поле.
Итак, у меня есть вид бритвы:
@{
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());
Я все еще получаю "это история". Почему текст не обновляется с текстом, который я ввел?
Вы хотите использовать $("#entry1").val()
для получения текста в текстовом поле.
Вы хотите использовать .val()
в отличие от .text()
, так как это доступ к содержимому <textarea>
:
alert($("#entry1").text());
должен быть:
alert($("#entry1").val());
.val вернет содержимое текстовой области
Метод .val() в основном используется для получения значений элементов формы
В отличие от метода .html(),.text() может использоваться как в XML, так и в HTML-документах. Результатом метода .text() является строка, содержащая комбинированный текст всех согласованных элементов.
Я думаю, что текст, почему .text()
не работает, потому что свойство text получает текстовое значение между тегом textarea, и это значение не обновляется при изменении значения текстового поля.
Введенный текст сохраняется в атрибуте value
элемента управления textarea.
здесь fiddle, показывающий пример. jQuery val()
выбирает одно и то же значение атрибута, поэтому вы можете использовать val()