1
totalvalue = 0;
for (x=1; x<6; x++)
{
totalvalue += document.getElementById("rcv_amount_"+x).value;
}

rcv_amount_1 = 2 rcv_amount_2 = 4 rcv_amount_3 = 6

预期结果是 12,但我得到 0246。

有什么帮助吗?

4

2 回答 2

6

您必须将 转换.value为数字 - 最初元素的.value属性是string,因此运算符导致连接,而不是加法。<input>+=

要将字符串值转换为数字,您可以将其parseInt(..., 10)用于整数,parseFloat(...)或者仅+(...)用于非整数。

于 2013-09-07T18:54:13.843 回答
0

尝试

totalvalue += parseInt(document.getElementById("rcv_amount_"+x).value, 10);
于 2013-09-07T18:54:07.233 回答