HTML页面代码如下:

<!DOCTYPE html>
<html>
<head>
  <title>学生信息管理</title>
  <style>
    table {
      border-collapse: collapse;
    }
    th, td {
      border: 1px solid black;
      padding: 5px;
    }
    .btn {
      margin: 5px;
    }
  </style>
</head>
<body>
  <h1>学生信息管理</h1>
  <form id="student-form">
    <label for="name">姓名:</label>
    <input type="text" id="name" name="name" required>
    <label for="age">年龄:</label>
    <input type="number" id="age" name="age" required>
    <button type="submit" class="btn">添加</button>
  </form>
  <table id="student-table">
    <thead>
      <tr>
        <th>姓名</th>
        <th>年龄</th>
        <th>操作</th>
      </tr>
    </thead>
    <tbody></tbody>
  </table>

  <script src="script.js"></script>
</body>
</html>

JavaScript代码如下:

document.addEventListener('DOMContentLoaded', function() {
  const form = document.getElementById('student-form');
  const tableBody = document.querySelector('#student-table tbody');
  let students = [];

  form.addEventListener('submit', function(event) {
    event.preventDefault();
    const name = document.getElementById('name').value;
    const age = document.getElementById('age').value;
    const student = { name, age };
    students.push(student);
    renderTable();
    form.reset();
  });

  function renderTable() {
    tableBody.innerHTML = '';
    for (let i = 0; i < students.length; i++) {
      const student = students[i];
      const row = document.createElement('tr');
      const nameCell = document.createElement('td');
      nameCell.textContent = student.name;
      const ageCell = document.createElement('td');
      ageCell.textContent = student.age;
      const actionCell = document.createElement('td');
      const editBtn = document.createElement('button');
      editBtn.textContent = '编辑';
      editBtn.addEventListener('click', function() {
        editStudent(i);
      });
      const deleteBtn = document.createElement('button');
      deleteBtn.textContent = '删除';
      deleteBtn.addEventListener('click', function() {
        deleteStudent(i);
      });
      actionCell.appendChild(editBtn);
      actionCell.appendChild(deleteBtn);
      row.appendChild(nameCell);
      row.appendChild(ageCell);
      row.appendChild(actionCell);
      tableBody.appendChild(row);
    }
  }

  function editStudent(index) {
    const student = students[index];
    const nameInput = document.getElementById('name');
    const ageInput = document.getElementById('age');
    nameInput.value = student.name;
    ageInput.value = student.age;
    students.splice(index, 1);
    renderTable();
  }

  function deleteStudent(index) {
    students.splice(index, 1);
    renderTable();
  }
});

在这个示例中,我们使用了HTML来创建一个包含学生信息的表格和一个表单来添加新的学生。JavaScript代码处理了表单提交事件,将学生信息添加到学生数组中,并使用renderTable()函数来更新表格显示。renderTable()函数会在每次添加、编辑、删除学生时被调用,它通过遍历学生数组来创建表格的行和单元格,并为每个学生添加编辑和删除按钮的事件处理程序。编辑按钮的事件处理程序调用editStudent()函数,将学生信息填充到表单中,并从学生数组中删除该学生。删除按钮的事件处理程序调用deleteStudent()函数,从学生数组中删除该学生。

1 创建一个HTML页面包含学生信息的表格和操作按钮添加、编辑、删除。2 使用JavaScript编写前端逻辑包括获取学生信息、将学生信息显示在表格中、处理用户操作等。

原文地址: https://www.cveoy.top/t/topic/i10j 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录