从输入而不是对象中检索数值

时间:2017-10-17 13:50:00

标签: javascript html input numbers

我正在尝试编写一个小程序来确定两个数字之间的共同因素。但是我在获取数字方面遇到了问题。这是我的HTML代码:

<p>Please input two numbers to find the common factors between them.</p>
 First number:<input type="number" id="firstNumber"></br>
 Second number:<input type="number" id="secondNumber"></br>
<button onclick="commonFactors(document.getElementById('firstNumber'), 
 document.getElementById('secondNumber'))">Submit</button>

但是,控制台不会返回数字,而是返回以下内容:

"<input type='number' id='firstNumber'>" "<input type='number' 
  id='secondNumber'>"

带引号。你能告诉我我做错了什么吗?

不确定是否重要,但这是JS:

function commonFactors(num1, num2) {
  console.log(num1, num2);
  var counter=Math.min(num1, num2);
  var factors=[];
  var k=0;  
  for (i=1; i<counter; i++) {
    if (num1%i==0) {
      if (num2%i==0) {
        factors[k]=i;
      }
    }
    k+=1;
  }
}; 

2 个答案:

答案 0 :(得分:2)

因为document.getElementById('firstNumber')引用了输入,请使用+document.getElementById('firstNumber').value注意+,因为您从输入中获得的值属于string类型,因此我们使用{{ 1}}将它们转换为数字

注意:你可以使用函数而不是+它被称为+用于整数而parseInt()用于浮点数

结果是

parseFloat()

答案 1 :(得分:1)

您想获取输入的值,而不是输入本身:

  

的document.getElementById( 'firstNumber')。值