Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Значения input добавить в массив и вывести сумму значений в другой input (https://javascript.ru/forum/misc/77704-znacheniya-input-dobavit-v-massiv-i-vyvesti-summu-znachenijj-v-drugojj-input.html)

Eugen Chetverov 08.06.2019 17:56

Значения input добавить в массив и вывести сумму значений в другой input
 
Помогите разобраться с кодом. Есть несколько инпутов со значениями. В последний нужно вывести сумму этих значений. Данный код не работает

<input class="numbers" value="18">
<input class="numbers" value="22">
<input class="numbers" value="24">
<input class="sum">

var numbers = [];
var num = document.querySelector("numbers");
numbers.push(+num[i]);
function countSum(){
for (var i = 0; i < numbers.length; i++) {
var sum += numbers[i];
}
}
countSum()
document.querySelector("sum") = sum

https://codepen.io/balien/pen/RmXjaZ

рони 08.06.2019 18:15

Eugen Chetverov,
Пожалуйста, отформатируйте свой код!

Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[html run]
... минимальный код страницы с вашей проблемой
[/html]

О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.

Stownheidg 09.06.2019 17:58

document.querySelector('.sum').value = [].reduce.call(document.querySelectorAll('.numbers'), (a, b) => a + +b.value, 0);

рони 09.06.2019 18:25

Stownheidg,
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">


</head>

<body>
<input class="numbers" value="18">
 <input class="numbers" value="22">
 <input class="numbers" value="24">
 <input class="sum">
<script>
document.querySelector('.sum').value = [...document.querySelectorAll('.numbers')].reduce((a, b) => a + +b.value, 0);
</script>
</body>
</html>


Часовой пояс GMT +3, время: 01:42.