Ваша функция не работает как по длине ценовых входов, так и по потенциальным значениям внутри этих ценовых входов.
Использование <=
по длине будет выдавать ошибку на несуществующие входной цене «неперехваченным TypeError: Не удается прочитать свойство„значение“не определено»
мне не понравилось ваше имя «графа», так как вы были не считая ничего, поэтому я изменил его, а также некоторые переменные, чтобы сделать намерение понятным.
Кроме того, значения, такие как «08», не будут анализироваться, как ожидалось (восьмеричные), и не будут «fred».
Рассмотрим следующие входы:
<input class="price" value="33" />
<input class="price" value="3" />
<input class="price" value="-23" />
<input class="price" value="13" />
<input class="price" value="08" />
<input class="price" />
<input class="price" value="fred" />
<input id="total" />
Пересмотренный код:
function totalPrice() {
var total = 0;
var prices = document.getElementsByClassName('price');
var len = prices.length;
for (var i = 0; i < len; i++) {
total += isNaN(parseInt(prices[i].value, 10)) ? 0 : parseInt(prices[i].value, 10);
}
document.getElementById('total').value = total;
}
totalPrice();
, что ваше сообщение об ошибке? – messerbill
Что вы подразумеваете под «set out of loop»? https://jsfiddle.net/7msje7vr/ – Pimmol
этот код ничего не делает –