Javascript:只能从输入中获取 nodeValue() 而不是 value()?

Posted

技术标签:

【中文标题】Javascript:只能从输入中获取 nodeValue() 而不是 value()?【英文标题】:Javascript: Can only get nodeValue() not value() from an input? 【发布时间】:2020-08-12 20:42:03 【问题描述】:

我有以下html 输入:

<input type="number" id="input-number"/>

在下面的JS 代码中,当我尝试在userInput 上执行.value 时,我不能这样做,我只能执行.nodeValue

这是为什么?

// elements on page
const userInput = document.getElementById('input-number');
const addBtn = document.getElementById('btn-add');
const subtractBtn = document.getElementById('btn-subtract');

【问题讨论】:

没有minimal reproducible example 我想我们不能说。 我猜这是因为您试图访问val,这不是 html 元素的属性。 【参考方案1】:

我刚刚发现它在这里工作正常。你可以看看这个例子。

const userInput = document.getElementById('input-number');
const addBtn = document.getElementById('btn-add');
const subtractBtn = document.getElementById('btn-subtract');

addBtn.addEventListener('click', (e) => 
  userInput.value++;
)

subtractBtn.addEventListener('click', (e) => 
  userInput.value--;
)
<input type="number" value=0 id="input-number"/>
<button id="btn-add">+</button>
<button id="btn-subtract">-</button>

【讨论】:

以上是关于Javascript:只能从输入中获取 nodeValue() 而不是 value()?的主要内容,如果未能解决你的问题,请参考以下文章

如何将JSON数据导入Javascript表?

Javascript - 从 HTML 输入中获取日期

如何使用 Javascript 从输入框值中获取总和?

如何从数据库中获取大量数据并通过输入输入将其显示到下拉列表过滤器中,但只能从数据库中选择

如何从 Chrome 的 Javascript 控制台获取输入?

使用 JavaScript 从 Laravel 中的动态输入中获取旧值?