Здраствуйте! У меня такое задание. На странице есть несколько form, в form несколько input, в input числа. Я должен с помощью вложенных циклов сложить все числа input на всей странице. Проблема в том, что если в первый input я записываю число больше 9, т.е. двухзначное, трехзначное и т.д. , сначала почему то сумма чисел удваивается, а только потом идет сложение.
Вот код:
let sum = 0;
for(let i = 0; i < document.forms.length; i++){
for(let j = 0; j < document.forms[i].elements.length; j++){
for(let k = 0; k < document.forms[i].elements[j].value.length; k++){
console.log(sum);
sum += Number(document.forms[i].elements[j].value);
}
}
}
console.log(sum);
<form action="">
<input type="text" value = 1></input>
<input type="text" value = 1></input>
<input type="text" value = 1></input>
<input type="text" value = 1></input>
<input type="text" value = 1></input>
<input type="text" value = 1></input>
</form>
<form action="">
<input type="text" value = 1></input>
<input type="text" value = 1></input>
<input type="text" value = 1></input>
<input type="text" value = 1></input>
<input type="text" value = 1></input>
<input type="text" value = 1></input>
</form>
<form action="">
<input type="text" value = 1></input>
<input type="text" value = 1></input>
<input type="text" value = 1></input>
<input type="text" value = 1></input>
<input type="text" value = 1></input>
<input type="text" value = 1></input>
</form>
Если вопрос не понятен, скажите мне об этом, я попробую переформулировать. Заранее спасибо)
Не нужен внутренний цикл - k
нигде не используется.
function sumAll() {
let sum = 0;
document.querySelectorAll("form input[type='text']").forEach(el => {
var v = +el.value;
if (!isNaN(v))
sum += v;
});
console.log(sum);
}
<form action="">
<input type="text" value="11" />
<input type="text" value="1" />
<input type="text" value="1" />
<input type="text" value="1" />
<input type="text" value="1" />
<input type="text" value="1" />
</form>
<form action="">
<input type="text" value="1" />
<input type="text" value="1" />
<input type="text" value="1" />
<input type="text" value="1" />
<input type="text" value="1" />
<input type="text" value="1" />
</form>
<form action="">
<input type="text" value="1" />
<input type="text" value="1" />
<input type="text" value="1" />
<input type="text" value="1" />
<input type="text" value="1" />
<input type="text" value="1" />
</form>
<br/>
<button onclick="sumAll()">Summ All</button>
Виртуальный выделенный сервер (VDS) становится отличным выбором
Трудность в следующем: берется шаблон (тег template) из html файлаПри нажатии по кнопке создается разметка из шаблона в html файле, на котором навешивается...
Есть на странице видеоролик с ютюба с маской на немПо клику - я эту маску убираю, добавлением класса без маски