JavaScript页面动态实现添加删除员工

原生js实现页面添加删除员工的功能,最终效果如下:
在这里插入图片描述submit添加员工,delete删除,结果在页面动态显示

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<link rel="stylesheet" href="employer.css">


<body>
    <script src="employer.js"></script>
    <h1>添加新员工</h1>
    <div id='add'>
        <div class="row">
            <div class='desc'>name:</div>
            <div class="tag"><input type="text" id='name'></div>
        </div>
        <div class="row">
            <div class='desc'>email:</div>
            <div class="tag"> <input type="text" id="email"></div>
        </div>
        <div class="row">
            <div class='desc'>salary:</div>
            <div class="tag"><input type="text" id="salary"></div>
        </div>
        <div class="row">
            <div id='submit'><input type="button" value="submit" onclick="add()"></div>
        </div>
    </div>
    <table id="tab">
        <tr>
            <th>Name</th>
            <th>Email</th>
            <th>Salary</th>
            <th></th>
        </tr>
    </table>
   
</body>

</html>

js这里可以用个循环让代码看起来简洁点儿

function add() {
    var name = document.getElementById('name').value;
    var email = document.getElementById('email').value;
    var salary = document.getElementById('salary').value;
    var obj = { 'name': name, 'email': email, 'salary': salary };
    var tab = document.getElementById('tab');
    var tr = document.createElement('tr');
    for (const k in obj) {
        if (obj.hasOwnProperty(k)) {
            const element = obj[k];
            var td = document.createElement('td');
            var tn = document.createTextNode(element);
            // 组装对象
            td.appendChild(tn);
            tr.appendChild(td);
            tab.appendChild(tr);
        }
    }
    var td = document.createElement('td');
    var btn = document.createElement('button');
    btn.setAttribute('onclick', 'deleteUser(this)');
    btn.innerHTML = 'Delete';
    // btn 样式
    btn.style.color = 'blue';
    btn.style.textDecoration = 'underline';
    // 组装对象
    tab.appendChild(tr);
    tr.appendChild(td);
    td.appendChild(btn);

}
function deleteUser(val) {
    var tr = val.parentNode.parentNode;
    var tab = tr.parentNode;
    tab.removeChild(tr);
}

css样式没什么好说的,随便写了点…

#add {
    width: 600px;
    height: 200px;
    margin: 0 auto;

}

h1 {
    text-align: center;
}

.desc {
    float: left;
    width: 80px;
    text-align: right;
    padding-right: 20px;
}

.tag {
    float: left;
    width: 200px;
}

.row {
    width: 300px;
    height: 50px;
    background: pink;
    margin: 0 auto;
}

table {
    margin: 0 auto;
    border: 1px solid;
}

#submit {
    float: right;
}
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当然可以,这里给您提供一种使用Python Flask框架和SQLAlchemy库实现员工管理系统的代码示例。 首先,需要安装Flask和SQLAlchemy库: ``` pip install flask sqlalchemy ``` 然后,创建一个名为“app.py”的文件,编写以下代码: ```python from flask import Flask, render_template, request, redirect, url_for from flask_sqlalchemy import SQLAlchemy app = Flask(__name__) app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///employee.db' db = SQLAlchemy(app) class Employee(db.Model): id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(50), nullable=False) gender = db.Column(db.String(10), nullable=False) age = db.Column(db.Integer, nullable=False) position = db.Column(db.String(50), nullable=False) salary = db.Column(db.Float, nullable=False) def __repr__(self): return '<Employee %r>' % self.id @app.route('/') def index(): employees = Employee.query.all() return render_template('index.html', employees=employees) @app.route('/add', methods=['GET', 'POST']) def add_employee(): if request.method == 'POST': name = request.form['name'] gender = request.form['gender'] age = request.form['age'] position = request.form['position'] salary = request.form['salary'] employee = Employee(name=name, gender=gender, age=age, position=position, salary=salary) db.session.add(employee) db.session.commit() return redirect(url_for('index')) return render_template('add.html') @app.route('/edit/<int:id>', methods=['GET', 'POST']) def edit_employee(id): employee = Employee.query.get_or_404(id) if request.method == 'POST': employee.name = request.form['name'] employee.gender = request.form['gender'] employee.age = request.form['age'] employee.position = request.form['position'] employee.salary = request.form['salary'] db.session.commit() return redirect(url_for('index')) return render_template('edit.html', employee=employee) @app.route('/delete/<int:id>') def delete_employee(id): employee = Employee.query.get_or_404(id) db.session.delete(employee) db.session.commit() return redirect(url_for('index')) if __name__ == '__main__': app.run(debug=True) ``` 代码中定义了一个名为“Employee”的模型类,用于表示员工信息,并且使用SQLite作为数据库存储数据。同时,定义了四个路由函数,分别用于显示员工列表、添加员工、修改员工删除员工。 最后,创建一个名为“templates”的文件夹,用于存放HTML模板文件。在“templates”文件夹中,创建以下三个HTML模板文件: 1. “index.html”文件,用于显示员工列表: ```html <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Employee Management System</title> </head> <body> <h1>Employee List</h1> <table border="1"> <thead> <tr> <th>ID</th> <th>Name</th> <th>Gender</th> <th>Age</th> <th>Position</th> <th>Salary</th> <th>Actions</th> </tr> </thead> <tbody> {% for employee in employees %} <tr> <td>{{ employee.id }}</td> <td>{{ employee.name }}</td> <td>{{ employee.gender }}</td> <td>{{ employee.age }}</td> <td>{{ employee.position }}</td> <td>{{ employee.salary }}</td> <td> <a href="{{ url_for('edit_employee', id=employee.id) }}">Edit</a> | <a href="{{ url_for('delete_employee', id=employee.id) }}" onclick="return confirm('Are you sure?')">Delete</a> </td> </tr> {% endfor %} </tbody> </table> <br> <a href="{{ url_for('add_employee') }}">Add Employee</a> </body> </html> ``` 2. “add.html”文件,用于添加员工: ```html <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Add Employee</title> </head> <body> <h1>Add Employee</h1> <form method="POST" action="{{ url_for('add_employee') }}"> Name: <input type="text" name="name"><br> Gender: <input type="radio" name="gender" value="male">Male <input type="radio" name="gender" value="female">Female<br> Age: <input type="text" name="age"><br> Position: <input type="text" name="position"><br> Salary: <input type="text" name="salary"><br> <input type="submit" value="Add"> </form> <br> <a href="{{ url_for('index') }}">Back to Employee List</a> </body> </html> ``` 3. “edit.html”文件,用于修改员工信息: ```html <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Edit Employee</title> </head> <body> <h1>Edit Employee</h1> <form method="POST" action="{{ url_for('edit_employee', id=employee.id) }}"> Name: <input type="text" name="name" value="{{ employee.name }}"><br> Gender: <input type="radio" name="gender" value="male" {% if employee.gender == 'male' %}checked{% endif %}>Male <input type="radio" name="gender" value="female" {% if employee.gender == 'female' %}checked{% endif %}>Female<br> Age: <input type="text" name="age" value="{{ employee.age }}"><br> Position: <input type="text" name="position" value="{{ employee.position }}"><br> Salary: <input type="text" name="salary" value="{{ employee.salary }}"><br> <input type="submit" value="Save"> </form> <br> <a href="{{ url_for('index') }}">Back to Employee List</a> </body> </html> ``` 运行该程序后,在浏览器中访问http://127.0.0.1:5000,即可使用该员工管理系统。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值