即使输入是整数,JavaScript也返回NaN
我在输入框中输入一个整数,它仍然返回“NaN” 函数goldenfunction(){ a=document.getElementById(“sidea”); parseInt(a,10); b=((a+a)*(数学功率(5,0.5))/2; document.getElementById(“b”).innerHTML=b; }即使输入是整数,JavaScript也返回NaN,javascript,Javascript,我在输入框中输入一个整数,它仍然返回“NaN” 函数goldenfunction(){ a=document.getElementById(“sidea”); parseInt(a,10); b=((a+a)*(数学功率(5,0.5))/2; document.getElementById(“b”).innerHTML=b; } a面= 找到b面 文档。getElementById(“sidea”)不返回数字,而是返回元素。 使用document.getElementById(“sidea
a面=
找到b面
文档。getElementById(“sidea”)不返回数字,而是返回元素。
使用document.getElementById(“sidea”).value
获取元素值
因此:
document.getElementById(“sidea”)
不返回数字,而是返回元素。
使用document.getElementById(“sidea”).value
获取元素值
因此:
为了澄清以下答案,所有表单元素都是ASCII字符串。如果需要获取整数值,则需要进行转换。
a
是元素,而不是输入值。尝试parseInt(a.value,10)
,最好将innerHTML设置为b.toString()
为了澄清以下答案,所有表单元素都是ASCII字符串。如果需要获取整数值,则需要进行转换。a
是元素,而不是输入值。尝试parseInt(a.value,10)
,最好将innerHTML设置为b.toString()
Cleaner甚至是a=parseInt(document.getElementById(“sidea”).value),10)代码>(将变量a重新分配给完全不同的变量类型并不那么干净)。@wintvelt现在是干净的。因为它不是HTML,你可以使用textContent,它更快更安全*虽然我不明白这个函数如何首先返回任何危险的东西,但它甚至会是a=parseInt(document.getElementById(“sidea”).value),10)代码>(将变量a重新分配给完全不同的变量类型并不那么干净)。@wintvelt现在是干净的。因为它不是HTML,你可以使用textContent,它更快更安全*虽然我不明白这个函数怎么会返回任何危险的东西
function goldenFunctiona() {
var sideaVal = document.getElementById("sidea").value;
var a = parseInt(sideaVal , 10); // Get parseInt's return value or 'a' will still be a string
var b = ((a + a) * (Math.pow(5, 0.5))) / 2;
document.getElementById("b").innerHTML = b;
}