繁体   English   中英

从输入中获取用户输入的值

[英]To get value of user input from input

我正在学习 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>

我希望你们能帮助解决这个问题。

非常感谢!

我觉得你处理这个问题的最好方法是编辑 div 的innerHTML。

例如:

<div id="allTheForms">
    <form action="#" onsubmit="addForm();">
      <input type="text">
      <button type="submit">Submit</button </form>
</div>
<script>
    function addForm() {
    var currentHTML = document.getElementById("allTheForms").innerHTML;
    var newForm = '<form action="#" onsubmit="addForm();"><input type="text"><button type="submit">Submit</button</form>';
    document.getElementById("allTheForms").innerHTML = currentHTML + newForm;
   }
</script>

这应该允许你做我认为你在问的事情。

您可以执行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] ,依此类推。

尝试这个

 <input type='text' required id='input' onchange="check()"> <p id='output'>null</p> <!-- the javascript --> <script type='text/javascript'> function check(){ //set the value as a let let input = document.querySelector('#input').value; //show it document.querySelector('#output').textContent = input; } </script>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM