我通过 php 循环在 html 中创建了 5 个文本框。现在我想通过 javascript 添加该文本框的值。我已经尝试过,但它给了我错误的结果。下面是我的代码..
<? for($i=0; $i<5; $i++)
{?>
<input type="text" id="<?=$i;?>" onclick="get(id)" />
<?}?>
function get(x){
var summ=0;
for(var a=0; a<5; a++)
{
summ=summ+document.getElementById(a).value;
}
alert(summ);
}
最佳答案
我认为问题可能是由于整数不是 html 元素的有效 id 造成的。您应该尝试将其命名为 input-1, input-2 ..
这是一个有效的示例。
HTML
<input type="text" id="input-1" />
<input type="text" id="input-2" />
<input type="text" id="input-3" />
<input type="text" id="input-4" />
<input type="text" id="input-5" />
Javascript:
var summ = 0;
for(var a=0; a<5; a++) {
summ += parseInt(document.getElementById("input-" + (a + 1)).value) || 0;
}
alert(summ);
我必须添加|| 0 到实际计算,否则结果将是“不是数字”,因为某些输入字段为空。
(请注意,在下面的 fiddle 中,我使用 console.log 而不是alert。因此请在控制台中查看结果)
关于javascript - 通过循环对文本框值求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18762752/