我正在尝试编写一个小程序来确定两个数字之间的共同因素。但是我在获取数字方面遇到了问题。这是我的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;
}
};
答案 0 :(得分:2)
因为document.getElementById('firstNumber')
引用了输入,请使用+document.getElementById('firstNumber').value
注意+
,因为您从输入中获得的值属于string
类型,因此我们使用{{ 1}}将它们转换为数字
注意:你可以使用函数而不是+
它被称为+
用于整数而parseInt()
用于浮点数
结果是
parseFloat()
答案 1 :(得分:1)
您想获取输入的值,而不是输入本身:
的document.getElementById( 'firstNumber')。值