javascript - 从输入中获取用户输入的价值
问题描述
我正在学习 Javascript 并尝试从输入中获取用户输入值。
在我的项目中,我有一个输入表单,当他们添加新数字并单击按钮时,会出现新表单,用户可以输入另一个数字,只要用户单击按钮,新输入字段就会继续出现。
我想要的是从每个输入中获得价值。我看到一些问题问类似的问题,但 .document.getElementsByName() 对我不起作用。
let userInput = document.getElementsByName('moneyamount');
inputNum = parseInt(userInput.value);
console.log(inputNum); //result is NaN
我也试过 document.querySelector()
let userInput = document.querySelector('#money-amount');
inputNum = parseInt(userInput.value);
console.log(inputNum)
效果很好,但是我需要从一些输入中获取价值,因此 querySelector 不适用于这种情况。所以我也尝试了 document.querySelectorAll() ,但是,
let userInput = document.querySelectorAll('#money-amount');
inputNum = parseInt(userInput.value)
console.log(inputNum)// result is NaN
我不确定在这种情况下应该使用什么 DOM。我需要选择所有元素并需要从中获取价值。
这是我的输入 HTML。此时只有一个输入,因为当用户单击添加按钮时,将添加新表单。
<input
class="input money"
type="number"
id="money-amount"
placeholder="Enter amount"
name="moneyamount"
required
/>
</div>
我希望你们能帮助解决这个问题。
太感谢了!
解决方案
您可以document.getElementById("money-amount").value
从输入中获取金额。如果您要从多个输入中获取值,您应该这样做。
var userinputs = [];
function getInputs() {
var elem = document.getElementsByClassName("input money");
for (var i = 0; i < elem.length; i++) {
if (typeof elem[i].value !== "undefined") {
userinputs.push(elem[i].value);
}
}
}
然后要访问第一笔金额,您可以这样做userinputs[0]
,依此类推。
推荐阅读
- android - APK 或 App Bundle 可用于 64 位设备,但它们只有 32 位本机代码 Unity Play 商店错误
- javascript - UglifyJs 意外标记:关键字«const» Webpack 4
- c# - 自 16.2.x 起,Visual Studio 2019 测试资源管理器切换到“OR”过滤
- android - 如何在 build.gradle 文件中使用 assemblerelease
- python - 无法在 Tkinter 的主窗口中添加滚动条
- elasticsearch - 如何在 Elasticsearch 中优先考虑第一个单词匹配而不是第一个字符?
- haskell - 如何将树数据存储在列表中?
- bash - 将 awk 输出分配给变量
- database - 具有迁移策略的开放资产数据库
- flutter - 添加 Firestore 文档时更新 ListView.builder itemCount