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

问题描述:

我正在编写一个小程序来确定两个数字之间的公因子。不过,我在收到号码时遇到问题。这是我的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; 
    } 
}; 

你想输入的值,而不是输入本身:

的document.getElementById( 'firstNumber') .value的

+0

谢谢!见上面的评论。 –

因为document.getElementById('firstNumber')是指的输入,使用+document.getElementById('firstNumber').value通知+因为你值从输入得到的是string型的,所以我们用+将它们转换成若干

注意:您可以使用函数代替+这就是所谓的parseInt()的整数和parseFloat()与浮点数

结果是

<button onclick="commonFactors(parseInt(document.getElementById('firstNumber').value), 
parseInt(document.getElementById('secondNumbe').value)">Submit</button> 
+0

感谢你们两位!它将parseInt和.value的组合用于工作。 –

+0

是的,你将需要如第一段所述的他们两人。我忘了在示例中添加.value – Laassari