Работает ли это, если вы попробуете
<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>
Если totalEl
является элементом формы, то строка form.elements[totalEl].value = sum;
должна быть вне цикла for
, в противном случае само значение totalEl
будет включено в последний расчет, что приведет к двойной сумме .