1

我有一些文本区域

<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

我总是得到“默认值”。尽管萤火虫甚至在 HtmlTextAreaElement => 值中显示了新值。那应该是item.value吧?我觉得自己很笨,请帮帮我。

4

3 回答 3

0

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

这应该这样做:

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

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

$('textarea').each(function(index, item) {
    alert(this.value);
});
于 2012-06-09T13:11:26.403 回答
0

在 textarea 中它不是 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());
});
于 2012-06-09T12:48:00.747 回答
0

给你的文本区域一个“名称”属性

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

并使用

item.innerHTML

正如建议的那样,对于 textarea 它是 innerHTML,而不是 value :)

于 2012-06-09T12:59:46.643 回答