document.getElementById("t3").value = document.getElementById("t1").value +
document.getElementById("t2");
通过上面的代码,我无法得到两个数字相加的结果。
答案 0 :(得分:3)
如果要将这些值添加到值,则必须首先将它们转换为整数。 .value
始终包含字符串。
parseInt(document.getElementById("t1").value, 10) + parseInt(document.getElementById("t2").value, 10);
答案 1 :(得分:2)
你实际上并没有将两个数字加在一起。您正在尝试将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)
将值转换为数字。这是unary plus +
operator。
答案 2 :(得分:0)
试试这个:
document.getElementById("t3").value = parseInt(document.getElementById("t1").value,10) +
parseInt(document.getElementById("t2").value,10);
答案 3 :(得分:0)
这很厚颜,但OP尝试更新的t3
元素是div
或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;