Javascript 产量增加了一倍
我有以下代码:Javascript 产量增加了一倍,javascript,sum,Javascript,Sum,我有以下代码: <script type="text/javascript"> function showTotal(form, totalEl) { var el, els = form.elements; var sum = 0; for (var i=0, num=els.length; i<num; ++i){ el = els[i]; if ('text' == el.type){ //&& /SumB/.test(el
<script type="text/javascript">
function showTotal(form, totalEl)
{
var el, els = form.elements;
var sum = 0;
for (var i=0, num=els.length; i<num; ++i){
el = els[i];
if ('text' == el.type){ //&& /SumB/.test(el.name)
sum += +el.value;
}
form.elements[totalEl].value = sum;
}
}
</script>
函数showTotal(表单,totalEl)
{
var el,els=形式元素;
var总和=0;
对于(var i=0,num=els.length;i如果您尝试,它是否有效
<script type="text/javascript">
function showTotal(form, totalEl)
{
var el, els = form.elements;
var sum = 0;
for (var i=0, num=els.length; i<num; ++i){
el = els[i];
// Do not include totalEl
if ('text' == el.type && el != form.elements[totalEl]) {
sum += +el.value;
}
}
form.elements[totalEl].value = sum;
}
</script>
函数showTotal(表单,totalEl)
{
var el,els=形式元素;
var总和=0;
对于(var i=0,num=els.length;i它将以现在编写的方式在“sum”文本元素中添加值。使用一个类,或在添加后从新总数中减去当前总数,或在循环之前将元素归零
正如另一个答案所提到的,设置“总和”字段的部分也不应该在循环中。如果total元素本身就是一个元素,您是否也将它添加到它本身?也许可以将所有元素中的一些元素(最后一个除外)!哇!!您的天才!!我为什么不考虑这个;)现在尝试在循环中反复设置它,但这只是效率低下,不是问题所在。然后尝试从总和中排除totalEl
的值:if('text'==el.type&&el!=form.elements[totalEl])…
谢谢我修复了循环和问题!!谢谢你的帮助