javascript - 如何获取多个文本框的值并将它们存储在变量中

标签 javascript html

我正在尝试创建一个页面来计算您的所有工作时间。但是,我无法让它输出任何内容。我尝试使用 querySelectorAllgetElementsByTagName (通过将类标记更改为文本框中的名称)。

但是当我执行时,我得到的是“未定义”而不是数字。

有人可以解释一下我做错了什么吗?

function calcHours() {
      let hoursWorked = parseInt(document.querySelectorAll(".txtBox1").value);
      const hoursWorkedText = "Hours worked: "

      if (Number.isNaN(hoursWorked)) {
        //code to throw error.
		errorCalc("value is not a number");
      }
      else {
        //code to run normally.
		document.getElementById('hoursTotal').innerHTML = hoursWorked;
		document.getElementById('hrWorkTxt').innerHTML = hoursWorkedText;
      }
    }
	
	function errorCalc(errorTxt) {
		alert("You done goofed, " + errorTxt + " error");
	}
<input type="textbox" class="txtBox1">
<input type="textbox" class="txtBox1">
<input type="textbox" class="txtBox1">
<input type="textbox" class="txtBox1">
<input type="textbox" class="txtBox1">
<input type="textbox" class="txtBox1">
<input type="textbox" class="txtBox1">
<p id="hrWorkTxt">
<p id="hoursTotal">
<input type="button" value="Calculate" onclick="calcHours()">

最佳答案

几个初始注释:

  1. 没有用于输入的类型textbox。您可能指的是文本。既然你想计算数字,我认为你应该使用 number 类型。这样你就可以跳过检查输入是否为 NAN 等...

  2. 由于您处理多个输入,为了获取所有值,您应该首先迭代所有值,然后获取每个值。

无论如何,我认为这就是你想要做的:

function calcHours() {
  let hoursWorked = document.querySelectorAll(".txtBox1");
  let hoursWorkedTotal =0;
  for (let i = 0; i < hoursWorked.length; i+=1) {
    hoursWorkedTotal += parseInt(hoursWorked[i].value);
  }
  document.getElementById('hoursTotal').innerHTML = hoursWorkedTotal;
}
<input type="number" class="txtBox1" value="0" />
<input type="number" class="txtBox1" value="0" />
<input type="number" class="txtBox1" value="0" />
<input type="number" class="txtBox1" value="0" />
<input type="number" class="txtBox1" value="0" />
<input type="number" class="txtBox1" value="0" />
<input type="number" class="txtBox1" value="0" />
<button type="button" onclick="calcHours()">Calculate</button>
<p id="hoursTotal"></p>

关于javascript - 如何获取多个文本框的值并将它们存储在变量中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58827670/

相关文章:

javascript - document.removeEventListener() 的问题

Javascript日期格式化为具有特定格式的本地时区

javascript - $scope 变量在指令隔离范围内未定义

html - CSS 文件在特定文件夹中时未加载

javascript - 我们如何从js文件中获取字符串值到HTML?

javascript - OpenRecord : TypeError: User. 创建不是一个函数

javascript - d3 append() 带函数参数

javascript - 如何确定输入元素的值是否为空(null)

javascript - 获取本地主机名并使用图像 Javascript 创建链接

javascript - 如何使用javascript删除已创建的表