我正在尝试创建一个不会计算空白单元格的自动清除工具。目前它只是计算1,但它会更晚。这只是为任何数字条目返回NaN。
var _num1 = document.getElementById('num1');
var _sum = document.getElementById('sum');
_num1.onblur = function summation(){
_sum.value = 0;
_sum.value = (parseInt(_sum.value,10) + (isNaN(_num1) ? 0 : _num1.value));
};
HTML
Num 1: <input type="text" id="num1" name="num1" value=""><br/>
Sum: <input type="text" id="sum" name="sum" value="">
答案 0 :(得分:0)
请试试这个:
var _num1 = document.getElementById('num1');
var _sum = document.getElementById('sum');
_num1.onblur = function summation(){
_sum.value = 0;
var num1 = parseInt(_num1.value, 10);
_sum.value = isNaN(num1) ? '0' : num1;
};
答案 1 :(得分:0)
请改为尝试:
var num1Val = parseInt(_num1.value, 10);
_sum.value = (parseInt(_sum.value,10) + (isNaN(_num1Val) ? 0 : num1Val ));
答案 2 :(得分:0)
@ComFreek已经评论过你的错误。要使脚本正常工作,您应该使用数字变量作为
的总和var numEl = document.getElementById('num1');
var sumEl = document.getElementById('sum');
var sum = 0; // declare
_num1.onblur = function summation(){
var num = parseInt(numEl.value,10); // parse
if (!isNaN(num)) { // validate
sum += num; // update
sumEl.value = sum; // output
}
};