我对编码很新,并尝试了一些有趣的东西,但是我正在努力解决它
function result() {
var n1 = document.getElementById("N1");
var n2 = document.getElementById("N2");
var n3 = document.getElementById("N3");
var a = [n1,n2,n3];
var temp = Math.max.apply(Math, a)
var out=document.getElementById("res").innerHTML = temp;
}
我试图让它输出通过HTML输入的数字
<td><input class="textBox" id="N3" type="number"/></td>
然而,它不会将其读作数字,只会显示NaN。帮助将不胜感激。
答案 0 :(得分:2)
如果您需要temp
为输入的最高值,则以下内容将起作用:
function result() {
document.getElementById("res").innerHTML = Math.max(
parseFloat( document.getElementById("N1").value ),
parseFloat( document.getElementById("N2").value ),
parseFloat( document.getElementById("N3").value )
);
}
一些意见:
Math.max()
。此处不需要apply()
,因为您明确调用max()
方法。N1
,N2
等是<input />
元素,因此您需要使用.value
获取其值属性。parseFloat()
(或parseInt()
)。在大多数现代浏览器中,这在技术上并不需要,但仍然是很好的做法。 答案 1 :(得分:0)
你的n1,n2和n3是元素的值,而不是元素的值:
function result() {
var n1 = document.getElementById("N1").value;
var n2 = document.getElementById("N2").value;
var n3 = document.getElementById("N3").value;
var a = [n1,n2,n3];
var temp = Math.max.apply(Math, a)
var out=document.getElementById("res").innerHTML = temp;
}