Чтобы каждый ввод имени добавлялся в массив и сохранялся, вам нужно объявить массив за пределами функции getArr(), чтобы он мог быть доступен в каждый раз, когда вы вызываете эту функцию. Затем вы можете использовать метод push()
для добавления каждого объекта, содержащего информацию о студенте, в массив.
Вот как ваш код может быть изменен для сохранения каждого объекта, содержащего информацию о студенте, в массив:
<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" onclick="getArr()">Button</button>
</div>
<script>
// объявляем массив для хранения объектов с информацией о студентах
let students = [];
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;
}
// добавляем объект с информацией о студенте в массив
students.push(obj);
// очищаем поля ввода
for (const input of inputAll) {
input.value = '';
}
// выводим список студентов
displayStudents();
} else {
alert('Не все поля заполнены');
}
}
function displayStudents() {
let output = '';
for (const student of students) {
output += `<li>${student.name} ${student.surname}, возраст: ${student.age}</li>`;
}
document.getElementById('students-list').innerHTML = output;
}
</script>
<ul id="students-list"></ul>
Здесь мы объявляем массив students вне функции getArr(). После того, как мы создаем объект с информацией о студенте, мы используем метод push() для добавления этого объекта в массив students. Затем мы очищаем поля ввода и вызываем функцию displayStudents(), которая выводит список всех студентов в элементе ul с id="students-list". Функция displayStudents() проходит по каждому объекту в массиве students и создает HTML-разметку для каждого студента, которая затем добавляется к списку.