【发布时间】:2022-03-16 20:52:52
【问题描述】:
我有以下代码:
var inputsArray = document.getElementsByTagName('input');
function computeTotal() {
var tot = 0;
tot += parseFloat(inputsArray[0].value);
tot += parseFloat(inputsArray[1].value);
tot += parseFloat(inputsArray[2].value);
inputsArray[3].value = tot;
}
<input type="text"></input>
<input type="text"></input>
<input type="text"></input>
<input type="text" disabled></input>
<button type="button" onclick="computeTotal()">Calculate</button>
当在所有三个框中输入一个数字时,它计算得很好,但我希望即使一个框为空,它也能计算,实际上返回 NaN。
P.S.:我知道我可以使用“for”循环和 isNaN() 方法来跳过空白输入,但我真的在寻找一种解决方案来逐个添加输入。
我不想将 NaN 转换为 0。
【问题讨论】:
-
var val0 = inputsArray[0].value; tot += isNaN(val0 || val0=="")? 0:parseFloat(val0); -
只需将框的默认值设为 0... 或在无效数字时检查并显示验证
标签: javascript html