js练习

这段代码展示了使用原生JavaScript实现的人员管理功能,包括追加、修改、删除和查询操作。用户可以输入员工信息,系统会根据输入更新表格,并提供修改和删除现有记录的选项。此外,还实现了查询功能,允许用户通过输入编号查找员工。
摘要由CSDN通过智能技术生成
<head>
	<meta charset="utf-8" />
	<title>人员管理</title>
	<script type="text/javascript">
		//追加栏
		function additional() {
			x = document.getElementById("form");
			x.style.display = "";
		}
		// 追加确认
		function submits() {
			//标志位
			var isflag = false
			var formsex;
			var formid = document.getElementById("formid");
			var formname = document.getElementById("formname");
			var formsexs = document.getElementsByName("sex");
			var formdesprition = document.getElementById("formdesprition");
			// console.log(formsexs[0].value)
			for(var i = 0; i < formsexs.length; i++) {
				if(formsexs[i].checked) {
					formsex = formsexs[i];
				}
			}
			var formIdValue = formid.value;
			var allTr = document.getElementsByClassName('name');
			allTr = [...allTr];
			// console.log(allTr)
			allTr.forEach((item, index) => {
				item.parentNode.style.backgroundColor = "";
				//修改
				//编号相同直接修改,不追加
				if(formIdValue == item.innerHTML&&formsexs[0].checked!==formsexs[1].checked) {
					item.parentNode.style.backgroundColor = "red";
					item.parentNode.children[1].innerHTML = formname.value;
					item.parentNode.children[3].innerHTML = formdesprition.value;
					console.log(formsex)
					if(item.parentNode.children[2].innerHTML == "男") {
						item.parentNode.children[2].innerHTML = formsex.value;
					} else {
						item.parentNode.children[2].innerHTML = formsex.value;
					}
					isflag = true;
					//清空input内数据
					formid.value = "";
					formname.value = "";
					formsexs[0].checked = false;
					formsexs[1].checked = false;
					formdesprition.value = "";
					//隐藏编辑框
					x = document.getElementById("form");
					x.style.display = "none";
				}
			})
			//清空颜色
			allTr.forEach((item, index) => {
				item.parentNode.style.backgroundColor = "";
			})
			if(isflag) {
				return
			}
			//如果性别为空,不添加
			if(formsexs[0].checked==formsexs[1].checked){
				return
			}
			//追加
			var tr = document.createElement("tr");
			tr.innerHTML = "<td class='name'>" + formid.value + "</td>" +
				"<td>" + formname.value + "</td>" +
				"<td>" + formsex.value + "</td>" +
				"<td>" + formdesprition.value + "</td>" +
				"<td><a href='javaScript:;' class='mod'>修改</a><a href='javaScript:;' class='del' style='margin-left: 9px;'>删除</a></td>";
			//给添加的按钮绑定修改事件
			var a = tr.getElementsByClassName("mod")[0];
			a.onclick = function() {
				//清空所以背景色
				var trs = document.getElementsByTagName("tr") ;
    			for(var i=0;i<trs.length;i++){
       				trs[i].style.backgroundColor="";
   				}
				var tr = this.parentNode.parentNode;
				var tid = this.parentNode.parentNode.firstElementChild;
				var tname = this.parentNode.previousElementSibling.previousElementSibling.previousElementSibling;
				var tsex = this.parentNode.previousElementSibling.previousElementSibling;
				var tdesprition = this.parentNode.previousElementSibling;
				tr.style.backgroundColor = 'red'
				var formid = document.getElementById("formid");
				var formname = document.getElementById("formname");
				var formsexs = document.getElementsByName("sex");
				var formdesprition = document.getElementById("formdesprition");
				formid.value = tid.innerHTML;
				//formid.readOnly = true;
				formname.value = tname.innerHTML;
				formdesprition.value = tdesprition.innerHTML;
				if(tsex.innerHTML == "男") {
					formsexs[0].checked = true;
				} else {
					formsexs[1].checked = true;
				}
				x = document.getElementById("form");
				x.style.display = "";
			}
			// 给添加的按钮绑定删除事件
			var b = tr.getElementsByClassName("del")[0];
			b.onclick = function() {
				var tr = this.parentNode.parentNode;
				tr.parentNode.removeChild(tr);
			}
			var t = document.getElementById("table")
			var tbody = t.getElementsByTagName("tbody")[0];
			tbody.appendChild(tr);
			//清空input内数据
			formid.value = "";
			formname.value = "";
			formsexs[0].checked = false;
			formsexs[1].checked = false;
			formdesprition.value = "";
			//隐藏编辑框
			x = document.getElementById("form");
			x.style.display = "none";
		}
		
		//修改
		function modify() {
			//清空所以背景色
			var trs = document.getElementsByTagName("tr") ;
    		for(var i=0;i<trs.length;i++){
       			 trs[i].style.backgroundColor="";
   			}
			var btn = document.getElementById("modBtn");
			var tr = btn.parentNode.parentNode;
			tr.style.backgroundColor = "red";

			var tid = btn.parentNode.parentNode.firstElementChild;
			var tname = btn.parentNode.previousElementSibling.previousElementSibling.previousElementSibling;
			var tsex = btn.parentNode.previousElementSibling.previousElementSibling;
			var tdesprition = btn.parentNode.previousElementSibling;
			var formid = document.getElementById("formid");
			var formname = document.getElementById("formname");
			var formsexs = document.getElementsByName("sex");
			var formdesprition = document.getElementById("formdesprition");
			formid.value = tid.innerHTML;
			formname.value = tname.innerHTML;
			formdesprition.value = tdesprition.innerHTML;
			if(tsex.innerHTML == "男") {
				formsexs[0].checked = true;
			} else {
				formsexs[1].checked = true;
			}
			var x = document.getElementById("form");
			x.style.display = "";
		}
		
		//删除
		function deletes() {
			var delBtn = document.getElementById("delBtn");
			var tr = delBtn.parentNode.parentNode;
			tr.parentNode.removeChild(tr);
		}
		
		//查询
		function query() {
			var allTr = document.getElementsByClassName('name');
			var queyInputValue = document.getElementById("query").value;
			allTr = [...allTr];
			var flag = true;
			// 遍历匹配项
			allTr.forEach((item, index) => {
				item.parentNode.style.backgroundColor = "";
				if(queyInputValue == item.innerHTML) {
					item.parentNode.style.backgroundColor = 'red';
					flag = false;
				}
			});
			if(flag) {
				alert("找不到信息");
			}
		}
	</script>
</head>
<style type="text/css">
	#input_div {
		width: 500px;
		height: 300px;
		border: solid;
		border-width: thin;
	}
	
	#input_id,
	#input_name {
		margin-top: 30px;
		margin-left: 45px;
		float: left;
	}
	
	#input_sex {
		margin-top: 80px;
		margin-left: 45px;
		clear: both;
	}
	
	#input_desprition {
		margin-top: 30px;
		margin-left: 45px;
	}
	
	textarea {
		vertical-align: top;
	}
	
	#submit {
		width: 70px;
		height: 30px;
		border-radius: 5px;
		background-color: chartreuse;
		margin-top: 30px;
		float: right;
		margin-right: 20px;
	}
	
	#id_select_input {
		margin-top: 20px;
		margin-left: 5px;
	}
	
	#id_select_input button {
		width: 65px;
		height: 25px;
		border-radius: 5px;
		background-color: #7FFF00;
	}
	
	.table {
		border-collapse: 0;
		border-spacing: 0;
		margin-top: 20px;
	}
	
	.table td {
		text-align: center;
		width: 100px;
	}
	
	.table tr {
		height: 30px;
	}	
</style>

<body>
	<h3>人员管理</h3>

	<form action="index.html" method="post" id="form" style="display: none;">
		<div id="input_div">
			<div id="input_id">
				编号&nbsp;&nbsp;&nbsp;&nbsp;<input type="text" size="10" id="formid" />
			</div>
			<div id="input_name">
				姓名&nbsp;&nbsp;&nbsp;&nbsp;<input type="text" size="10" id="formname" />
			</div>
			<div id="input_sex">
				性别&nbsp;&nbsp;&nbsp;&nbsp;<input type="radio" name="sex" value="男" />男&nbsp;&nbsp;&nbsp;&nbsp;<input type="radio" name="sex" value="女" />女
			</div>
			<div id="input_desprition">
				描述&nbsp;&nbsp;&nbsp;&nbsp;<textarea rows="5" cols="42" id="formdesprition"></textarea>
			</div>
			<div id="input_button">
				<input type="button" name="submit" id="submit" value="提交" onclick="submits()" />
			</div>
		</div>
	</form>
	<div id="id_select_input">
		编号&nbsp;&nbsp;<input type="text" size="6" id="query" />&nbsp;&nbsp;<button id="query" onclick="query()">查询</button>&nbsp;&nbsp;<button onclick="additional()">追加</button>
	</div>
	<table border="1" class="table" id="table">
		<tr>
			<td>员工编号</td>
			<td>员工姓名</td>
			<td>性别</td>
			<td>描述</td>
			<td>操作</td>
		</tr>
		<tr>
			<td class="name">YD201201</td>
			<td>远东01</td>
			<td>男</td>
			<td>good</td>
			<td><a href="javaScript:;" class="mod" onclick="modify()" id="modBtn">修改</a>
				<a href="javaScript:;" onclick="deletes()" id="delBtn" >删除</a>
		</tr>
	</table>

</body>

在这里插入图片描述js练习,原生js写的。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值