JS实现用户管理系统
作者:欧欧呀 发布时间:2023-08-29 04:51:20
标签:JS,用户,管理系统
本文实例为大家分享了JS实现用户管理系统的具体代码,供大家参考,具体内容如下
效果图:
html代码:
<h1>新增学员</h1>
<div class="info">
姓名:<input type="text" class="uname" />
年龄:<input type="text" class="age" />
性别:
<select name="gender" id="" class="gender">
<option value="男">男</option>
<option value="女">女</option>
</select>
薪资:<input type="text" class="salary" /> 就业城市:<select
name="city"
id=""
class="city"
>
<option value="北京">北京</option>
<option value="上海">上海</option>
<option value="广州">广州</option>
<option value="深圳">深圳</option>
<option value="曹县">曹县</option>
</select>
<button class="add">录入</button>
</div>
<h1>就业榜</h1>
<table>
<thead>
<tr>
<th>学号</th>
<th>姓名</th>
<th>年龄</th>
<th>性别</th>
<th>薪资</th>
<th>就业城市</th>
<th>操作</th>
</tr>
</thead>
css代码:
* {
margin: 0;
padding: 0;
}
a {
text-decoration: none;
color:#721c24;
}
h1 {
text-align: center;
color:#333;
margin: 20px 0;
}
table {
margin:0 auto;
width: 800px;
border-collapse: collapse;
color:#004085;
}
th {
padding: 10px;
background: #cfe5ff;
font-size: 20px;
font-weight: 400;
}
td,th {
border:1px solid #b8daff;
}
td {
padding:10px;
color:#666;
text-align: center;
font-size: 16px;
}
tbody tr {
background: #fff;
}
tbody tr:hover {
background: #e1ecf8;
}
.info {
width: 900px;
margin: 50px auto;
text-align: center;
}
.info input {
width: 80px;
height: 25px;
outline: none;
border-radius: 5px;
border:1px solid #b8daff;
padding-left: 5px;
}
.info button {
width: 60px;
height: 25px;
background-color: #004085;
outline: none;
border: 0;
color: #fff;
cursor: pointer;
border-radius: 5px;
}
.info .age {
width: 50px;
}
JS代码:
<script>
// 获取元素
let tbody=document.querySelector(`tbody`)
// 录入按钮
let add = document.querySelector(`.add`)
let stuId=document.querySelector(`.stuId`) //编号
let uname=document.querySelector(`.uname`) //姓名
let age=document.querySelector(`.age`) //年龄
let gender=document.querySelector(`.gender`) //性别
let salary=document.querySelector(`.salary`)//薪资
let city=document.querySelector(`.city`) //所在地区
// 删除按钮
let del = document.querySelector(`.del`)
// 保存数据
let arr = JSON.parse(localStorage.getItem(`key`)) || []
// 函数封装
function init(){
// 创建一个变量,用于拼接
let htmlStr=``
// 循环遍历
for(let i=0;i<arr.length;i++){
let index= i+1
// 拼接
htmlStr +=` <tr>
<td>${index}</td>
<td>${arr[i].uname}</td>
<td>${arr[i].age}</td>
<td>${arr[i].gender}</td>
<td>${arr[i].salary}</td>
<td>${arr[i].city}</td>
<td>
<a href="javascript:" class="del" id='${index}''>删除</a>
</td>
</tr>
`
}
// 将拼接的元素插入tbody
tbody.innerHTML=htmlStr
}
// 调用函数
init()
// 给录入按钮添加点击事件
add.addEventListener(`click`,function(){
// 判断输入框是否为空
if (uname.value.trim().length ==0){
alert(`请输入姓名`)
return
}
if (age.value.trim().length ==0){
alert(`请输入年龄`)
return
}
if (salary.value.trim().length ==0){
alert(`请输入薪资`)
return
}
let obj={
//获取表单元素的value值,
Id:arr.length>0?arr[arr.length-1].stuId+1 :1001,
uname:uname.value,
age:age.value,
gender:gender.value,
salary:salary.value,
city:city.value,
}
// 将obj追加到数组的最后
arr.push(obj)
// 渲染
init()
// 每次录入清空输入框
uname.value=``
age.value=``
salary.value=``
// 存储数据
localStorage.setItem(`key`,JSON.stringify(arr))
})
// 实现数据删除
// 给tbody点击事件,事件委托
tbody.addEventListener(`click`,function(e){
// 获取删除按钮
if (e.target.className ==`del`){
// 指定删除arr数组
arr.splice(e.target.id-1,1)
// 调用函数
init()
}
localStorage.setItem(`key`,JSON.stringify(arr))
})
</script>
来源:https://blog.csdn.net/m0_66783294/article/details/124135887
0
投稿
猜你喜欢
- SWFObject的使用是非常简单的,只需要包含 swfobject.js这个js文件,然后在DOM中插入一些简单的JS代码,就能嵌入Fla
- 交互设计师主导或发起的项目很难拿到结果——现状这个问题在很多的小公司都不存在。小公司养着、催着设计师,设计师不用去考虑能不能拿到结果,因为你
- 代码如下:Create PROCEDURE Batch_Delete @TableName nvarchar(100), --表
- 1. iocgo简介习惯于Java或者C#开发的人应该对控制反转与依赖注入应该再熟悉不过了。在Java平台有鼎鼎大名的Spring框架,在C
- 前言这次,我们要用Pygame写一个Pong游戏先看看效果:需要的模块:Pygame在python文件同目录下新建resources文件夹,
- asp创建pdf文件代码,详见以下代码:<%Option ExplicitSub CheckXlDriver()&
- 这个问题好像在各种数据库中都存在,该如何处理呢?一、SQL中:sql="CREATE TABLE phone&
- 一直在用JS写ASP,也不是特别原因,只是当初学的是JS,后来学ASP时知道ASP也可以用JS写,就没去学VBS.前几个月刚学ASP的时候找
- 我们知道,数组的sort方法可以对数组元素进行排序,默认是按ASCII字母表顺序排序。如果要根据其他的顺序排序就需要为sort方法提供一个比
- 数据库开发数据库应用,选择一个好的数据库是非常重要的。下面从一些方面比较了SQL Server与Oracle、DB2三种数据库,为你选择数据
- 之前写过的组织结构和组织体系都太抽象了,读到标签系统我才有那种“略懂”的感觉。哈哈…书上提到的标签包括:导航情境式链接:常见的“更多”这种用
- 看了不少朋友的个人网站,有一个小问题,似乎很多朋友都忽略了,那就是版权声明的写法。虽然那只是一小行字,不过作为设计师也好,作为个人的爱好也好
- Microsoft? SQL Server? 2000 提供了两种主要机制来强制业务规则和数据完整性:约束和触发器。触发器是一种特殊类型的存
- 虽然以前我写过IE6、IE7、IE8共存的解决方案,但是看到IETester这个软件以后那些都已经没有意义了(那些办法副作用比较大,而且实现
- 有时候,我们在某一重要的时间段需要监控某张表的变化情况,包含插入、更新、删除。举例来说,当我们把数据导出到外部的系统时,我们希望导出的是全部
- 从技术上来说,在ASP环境中,读入并管理XML文本的主要方法有三种: 创建MSXML对象,并且将XML文档载入DOM; 使用服务器端嵌入(S
- 我们大致会在下列几种情况下用到: 一、文件操作(FileSystemObject)<%@ IMPORT
- JS提供两个截取字符串的方法,分别是:slice()和substring()slice和substring都可以接受一个或两个参数,第1个参
- 服务器重新启动的情况当mysqld启动时,所有的授权表内容被读进存储器并且从那时开始生效。被服务器立即应用的情况用GRANT、REVOKE或
- 缓动,学名为Tween,缓冲移动的简称。要想页面内容切换起来舒服,就使用淡入淡出特效,要想让页面元素动起来自然,就要使用缓动效果。这两个混合