<form name="calc">
<input type="text" value="0" name="first" onchange="add()">
<input type="text" value="0" name="second" onchange="add()">
<input type="text" name="result" onchange="add()">
</form>
<script type="text/javascript">
var a = parseInt(document.calc.first.value);
var b = parseInt(document.calc.second.value);
var c = a + b;
function add(){
document.calc.result.value = parseInt(c);
}
</script>
答案 0 :(得分:3)
您正在寻找:
function add() {
var a = parseInt(document.calc.first.value, 10);
var b = parseInt(document.calc.second.value, 10);
var c = a + b;
document.calc.result.value = c;
}
每次更改时,您都必须重新阅读a
和b
个值。
注意1 :另外,请记住radix
中的parseInt(val, radix)
参数。在你的情况下是10
(正如我想的那样)。请参阅this MDN article,了解其重要性。
注意2 :无需致电parseInt(c)
,因为c
已经属于number
类型。
答案 1 :(得分:2)
a
和b
在页面加载时计算一次,当表单仍为空时,显然结果为NaN
。
将所有逻辑放在add
函数中,以便检索表单的当前状态。