javascript - 通过循环对文本框值求和

标签 javascript html

我通过 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。因此请在控制台中查看结果)

fiddle :http://jsfiddle.net/jonigiuro/tXFEf/1/

关于javascript - 通过循环对文本框值求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18762752/

相关文章:

javascript - 在 AngularJS 中解析解析之前加载 Controller

javascript - 在 JS 中构建二进制缓冲区的干净方法是什么?

javascript - 如何使用 jQuery 使用 .has() 检查的元素

html - 根据高度均匀拉伸(stretch)div的内容

jquery - 100% Div 居中,固定宽度的内部 Div

javascript - 如何用javascript替换字符串?

javascript - RNCryptor JS 简单案例失败

javascript - Angular 服务数据未在 $scope 中更新

javascript - 检查输入值是否为空并显示警报

php - 如何从 mysql 隐藏 HTML 中的某些选项