<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
* {
margin: 0;
padding: 0;
box-sizing: border-box;
transition: all 0.2s ease;
}
.container {
width: 70vw;
margin: 0 auto;
background-color: #f2f2f2;
text-align: center;
}
.myForm {
width: 90%;
margin: 0 auto;
display: flex;
justify-content: space-between;
margin-top: 50px;
}
.myForm input {
/* overflow: hidden; */
height: 22px;
width: 80px;
border-radius: 4px;
border: 1px solid #ccc;
}
.myForm input:nth-child(n+2) {
margin-right: 20px;
}
.myForm select {
height: 24px;
width: 80px;
border-radius: 4px;
border: 1px solid #ccc;
text-align: center;
margin-right: 20px;
}
.myForm input[type="submit"] {
background-color: #4CAF50;
color: white;
height: 24px;
margin-left: 10px;
}
.myForm input[type="submit"]:active {
background-color: #3e8e41;
box-shadow: 0 0 10px #3e8e41;
transform: scale(1.05);
}
.myForm input[type="reset"] {
background-color: #d8e1d8;
color: rgb(0, 0, 0);
height: 24px;
margin-right: 0;
}
.myForm input[type="reset"]:active {
background-color: #c1d0c1;
box-shadow: 0 0 10px #c1d0c1;
transform: scale(1.05);
}
h1:nth-of-type(2) {
margin-top: 50px;
}
table {
margin: 0 auto;
width: 90%;
border-collapse: collapse;
background-color: #bfd1f0d6;
border: 1px solid #ccc;
margin-top: 30px;
}
table tr {
height: 33px;
}
table tr th:first-child {
border-radius: 10px;
}
table tr th:last-child {
border-radius: 10px;
}
table th,
table td {
border-right: 1px solid #b9b6b6;
border-bottom: 1px solid #b9b6b6;
color: rgb(49, 49, 49);
}
table th:last-child,
table td:last-child {
border-right: none;
}
table span {
display: inline-block;
cursor: pointer;
box-shadow: 0 0 2px #5c5c5c;
background-color: orangered;
transform: scale(1.3);
}
table span:active {
color: rgb(255, 0, 0);
}
table tr:nth-of-type(even) {
background-color: #f2f2f2;
}
</style>
</head>
<body>
<div class="container">
<h1>学员信息录入</h1>
<form method="post" class="myForm">
<label for="name">姓名: </label>
<input type="text" id="name" name="name" required>
<label for="age">年龄: </label>
<input type="number" id="age" name="age" required>
<label for="gender">性别: </label>
<select id="gender" name="gender" required>
<option value="男">男</option>
<option value="女">女</option>
<option value="其他">其他</option>
</select>
<label for="salary">薪资: </label>
<input type="number" id="salary" name="salary" required>
<label for="city">就业城市: </label>
<select id="city" name="city" required>
<option value="北京">北京</option>
<option value="上海">上海</option>
<option value="广州">广州</option>
</select>
<input type="submit" value="提交">
<input type="reset" value="重置">
</form>
<h1>学员信息列表</h1>
<table>
<thead>
<tr>
<th>学号</th>
<th>姓名</th>
<th>年龄</th>
<th>性别</th>
<th>薪资</th>
<th>就业城市</th>
<th>录入时间</th>
<th>操作</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>张三</td>
<td>25</td>
<td>男</td>
<td>5000</td>
<td>北京</td>
<td>2021-01-01 12:00:00</td>
<td><span>删除</span></td>
</tr>
</tbody>
</table>
</div>
<script>
// document.querySelector('video').playbackRate = 1.7; //修改视频倍速
window.addEventListener('DOMContentLoaded', function () {
console.log("xixi");
let messageList_str = localStorage.getItem('messageList') || [];
if (messageList_str.length) {
messageList = JSON.parse(messageList_str);
render();
}
});
function render() {
let tbody_message_list = messageList.map(function (item, index) {
let atr = `
<tr>
<td>${index + 1}</td>
<td>${item.name}</td>
<td>${item.age}</td>
<td>${item.gender}</td>
<td>${item.salary}</td>
<td>${item.city}</td>
<td>${new Date().toLocaleString()}</td>
<td><span>删除</button></span></td
</tr>
`;
return atr;
});
tbody.innerHTML = tbody_message_list.join('');
}
let form = document.querySelector('.myForm');
let submit = document.querySelector('input[type="submit"]');
let reset = document.querySelector('input[type="reset"]');
let table = document.querySelector('table');
let tbody = table.querySelector('tbody');
let messageList = []
submit.addEventListener('click', function (e) {
let name = document.querySelector('#name');
let age = document.querySelector('#age');
let gender = document.querySelector('#gender');
let salary = document.querySelector('#salary');
let city = document.querySelector('#city');
let student = {};
if (name.value.trim() === '') {
alert('请填写姓名');
return;
} else {
student.name = name.value.trim();
}
if (age.value.trim() === '') {
alert('请填写年龄');
return;
} else {
student.age = age.value.trim();
}
if (gender.value.trim() === '') {
alert('请选择性别');
return;
} else {
student.gender = gender.value.trim();
}
if (salary.value.trim() === '') {
alert('请填写薪资');
return;
} else {
student.salary = salary.value.trim();
}
if (city.value.trim() === '') {
alert('请选择就业城市');
return;
} else {
student.city = city.value.trim();
}
e.preventDefault();
messageList.push(student);
render();
localStorage.setItem('messageList', JSON.stringify(messageList));
form.reset();
});
tbody.addEventListener('click', function (e) {
let tr = e.target.parentNode.parentNode;
tbody_children = Array.from(tbody.children);
let tr_index = tbody_children.indexOf(tr);
if (confirm('确定删除吗?')) {
tbody.removeChild(tr);
messageList.splice(tr_index - 1, 1);
render();
localStorage.setItem('messageList', JSON.stringify(messageList));
}
});
</script>
</body>
</html>