文本区域返回错误的值



我有一些文本区域

<textarea>Default Value</textarea>
<textarea>Default Value</textarea>

用户输入了一些文本,我想在 JavaScript 中获取他们的新值:

$('textarea').each(function(index, item) {
    alert(item.value);
});

这听起来很简单,但我得到的只是"默认值"。

我试过:

item.nodeValue, 
item.textContent, 
item.innerHTML. item.innerText, 
item.value, 
$(item).val() in jQuery

我总是得到"默认值"。虽然Firebug甚至在HtmlTextAreaElement =>值中显示了新值。这应该是item.value,对吧?我觉得自己很傻,请帮帮我。

在文本区域中,它不是 item.value,而是 innerHTML

jquery的val()虽然可以工作

<input type="text" value="some text" />
<textarea id="something" name="something">some text</textarea>

你可以做:

$('textarea').each(function(index, item){
    console.log($(item).val());
});

为文本区域指定"name"属性

<textarea name="name">innterHTML</textarea>

和使用

item.innerHTML

正如建议的那样,对于文本区域,它是innerHTML,而不是值:)

用户输入了一些文本,我想在 JavaScript:

这应该这样做:

$('textarea').keyup(function(){
   alert(this.value);
});

要读取已输入的值(而不是在用户键入时),请使用:

$('textarea').each(function(index, item) {
    alert(this.value);
});

最新更新