Теперь Кью работает в режиме чтения

Мы сохранили весь контент, но добавить что-то новое уже нельзя

Как сделать чтобы каждый ввод имени добавлялся в массив и сохранялся, и в последствии по нажатию кнопки показывал весь список?

Пытался сам сделать обычный массив, не смог додумать как именно сделать так чтобы каждый ввод имени добавлялся в массив и сохранялся, и в последствии по нажатию кнопки показывал весь список внесенных студентов
 <div id="forms">         <input id="name" type="text" placeholder="Имя">         <input id="surname" type="text" placeholder="Фамилия">         <input id="age" type="text" placeholder="Возраст">         <button type="button" name="button" id="button" value="submit" onclick="getArr()">Button</button>       </div>          <script>     function getArr() {   let inputAll = Array.from(document.querySelectorAll('#forms input'));   let arr = [];   let obj = {};   let checkFieldsLength = inputAll.every((el) => el.value.length);   if (checkFieldsLength) {     for (const input of inputAll) {       obj[input.id] = input.value;     }     arr.push(obj);     return console.log(arr);   }   return alert('Не все поля заполнены'); }     </script>
ПрограммированиеJavascript+3
  · 85,7 K
Пишу код, интересуюсь наукой, консультирую  · 18 дек 2022
Ваш код практически рабочий и он сразу заработает, если вы поправите всего одну очень важную деталь. Дело в том, что внутри вашего метода getArr имеется изолированный контекст… 
Догадались к чему я клоню? Если нет, то давайте подумаем как может что-то сохраняться за пределами этой изоляции. Нам надо чтобы контейнер для сохранения, то есть ваш массив оказался на верхнем уровне. То есть, все что вам надо поправить в вашем коде - это переместить строку "let arr = [];" за пределы метода.
let arr = [];

function getArr() {   
  let inputAll = Array.from(document.querySelectorAll('#forms input'));   
  let obj = {};

  let checkFieldsLength = inputAll.every((el) => el.value.length);   

  if (checkFieldsLength) {     
    for (const input of inputAll) {       
      obj[input.id] = input.value;     
    }

    arr.push(obj);

    return console.log(arr);   
  }

  return alert('Не все поля заполнены'); 
}
Вот и все. Теперь все должно работать как надо, проверяйте.
Мои игры на Яндекс ИгрыПерейти на yandex.ru/games/developer
1 эксперт согласен
Веб-разработчик, геймер, специалист по этике  · 16 апр 2023
Что ж, вам уже дали правильный ответ несколько раз, давайте посмотрим в дидактических целях весь процесс решения подобной задачи. Итак, от нас требуется: 1. веб-страница; 2. на которой можно вводить имена, одно за другим; 3. эти имена сохраняются в массив (видимо, это важно); 4. все сохранённые имена показываются отдельно списком; 5. ввод имени производится кнопкой. Дела... Читать далее
Да, я зарабатываю на ✺Толоке 👇  · 16 апр 2023  · toloka.yandex.ru/promo
Чтобы каждый ввод имени добавлялся в массив и сохранялся, вам нужно объявить массив за пределами функции getArr(), чтобы он мог быть доступен в каждый раз, когда вы вызываете эту функцию. Затем вы можете использовать метод push() для добавления каждого объекта, содержащего информацию о студенте, в массив. Вот как ваш код может быть изменен для сохранения каждого... Читать далее
Заработать пару сотен рублей онлайн на Яндекс✺Толока! Регистрируйся.Перейти на toloka.yandex.ru/promo
Помощь пользователям ПК и ноутбуков - спрашивайте   · 11 апр 2023  · itmen.help
Для решения этой задачи можно использовать простой массив и добавлять каждое введенное имя в этот массив при нажатии на кнопку. Затем при нажатии на другую кнопку можно вывести весь список имен, хранящихся в массиве. Примерный код решения этой задачи на JavaScript может выглядеть так: HTML код: bashCopy code&lt;div id="forms"&gt; &lt;input id="name" type="text" placeho... Читать далее
Компьютерная помощь в вашем городеПерейти на itmen.help/uslugi