document.getElementById("t3").value = document.getElementById("t1").value +
document.getElementById("t2");
通过上面的代码,我无法得到两个数字相加的结果。
document.getElementById("t3").value = document.getElementById("t1").value +
document.getElementById("t2");
通过上面的代码,我无法得到两个数字相加的结果。
如果要将它们添加到值中,则必须首先将它们转换为整数。.value
总是持有一个字符串。
parseInt(document.getElementById("t1").value, 10) + parseInt(document.getElementById("t2").value, 10);
您实际上并没有将两个数字相加。您正在尝试将document.getElementById("t1").value
(这是一个包含数字的字符串)添加到document.getElementById("t2")
DOM 元素。
你可能会得到这样的结果:
43[object HTMLInputElement]
您需要 (a) 获取value
第二个元素的属性并 (b) 将它们作为数字而不是字符串相加。
document.getElementById("t3").value = (+document.getElementById("t1").value) +
(+document.getElementById("t2").value);
(+document.getElementById("t1").value)
将值转换为数字。它是一元加+
运算符。
尝试这个:
document.getElementById("t3").value = parseInt(document.getElementById("t1").value,10) +
parseInt(document.getElementById("t2").value,10);
这是厚颜无耻的,但机会是t3
OP 试图更新的元素是 adiv
或span
而不是input
:)
var t1, t2, t3;
t1 = document.getElementById("t1");
t2 = document.getElementById("t2");
t3 = document.getElementById("t3");
t3.innerHTML = parseInt(t1.value, 10) + parseInt(t2.value, 10);
或者
t3.innerHTML = +t1.value + +t2.value;