获得真正的textarea价值

时间:2018-10-10 23:25:41

标签: javascript html textarea

最近我遇到了textarea的问题。如果我有类似的文本区域,

<textarea>Hello World</textarea>

我用JS得到了它的内容,

var textareaText = document.getElementsByTagName('textarea')[0].value

变量textareaTextHello World。但是,如果我要更改textarea的值并重新运行JS。尽管真正的当前值是其他值,它仍然会导致Hello World。我查了一下,看到了+5个答案,但所有答案都使用jQuery,这是我不使用或不知道(翻译)的东西,也不是纯JS。如果有人可以帮助我,将不胜感激。另外,一些答案似乎只针对一个文本区域。在我的项目中,我有+1,000,所以我想避免这种情况。

3 个答案:

答案 0 :(得分:0)

它在我的计算机上正常工作:

function getText(){
  var textareaText = document.getElementsByTagName('textarea')[0].value;
  console.log(textareaText);
};
  <textarea>Hello World</textarea><br>
  <button type="button" onclick="getText();">Get text</button>

答案 1 :(得分:0)

无论您使用多少"input value" |> f1 |> f2 |> f3 ,这都应该起作用:

bind

我刚刚对其进行了测试,并且不管我更改了哪些值,即使我同时更改了这两个值,它也都有效。诀窍是存储值,因为它们不会更新,因此您应该就地获取值。

尽管这违反了问题准则,但对于“ 1000+”文本区域,为每个变量设置一个JavaScript变量可能会减慢加载时间。我可以建议使用相同HTML的jQuery吗?

<textarea>

当然,您可以随意混合并更改上面提供的代码。希望这会有所帮助!

答案 2 :(得分:-1)

可能是吗?

<textarea id="text-area">Hello World</textarea>

    var el = document.getElementById("text-area");
    var textareaText;
    el.addEventListener("input", function(e) {
    textareaText = e.target.value;
        console.log(e.target.value);
    });