-1
document.getElementById("t3").value = document.getElementById("t1").value + 
                                      document.getElementById("t2");

通过上面的代码,我无法得到两个数字相加的结果。

4

4 回答 4

3

如果要将它们添加到值中,则必须首先将它们转换为整数。.value总是持有一个字符串。

parseInt(document.getElementById("t1").value, 10) + parseInt(document.getElementById("t2").value, 10);
于 2013-11-04T13:06:08.880 回答
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)将值转换为数字。它是一元加+运算符

于 2013-11-04T13:08:35.330 回答
0

尝试这个:

document.getElementById("t3").value = parseInt(document.getElementById("t1").value,10) + 
                                  parseInt(document.getElementById("t2").value,10);
于 2013-11-04T13:06:23.850 回答
0

这是厚颜无耻的,但机会是t3OP 试图更新的元素是 adivspan而不是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;
于 2013-11-04T13:20:21.000 回答