JS-本地存储与删除

	<!DOCTYPE html>
	<html lang="en">
	<head>
		<meta charset="UTF-8">
		<title>Document</title>
		<style type="text/css">
			table{width: 500px;border: 1px solid gray;border-collapse: collapse;}
			th,td{line-height: 30px;text-align: center;border: 1px solid gray;width: 100px;}
		</style>
	</head>
	<body>
		<label for="">用户名:</label><input type="text"><br>
		<label for="">密码:</label><input type="password"><br>
		<label for="">重复密码:</label><input type="password"><br>
		<label for="">电话:</label><input type="text"><br>
		<a href="javascript:void(0)"><button>注册</button></a>
		<button>显示</button><br>
	
		<table>
		    <thead>
				<tr>
					<th>用户名</th>
					<th>密码</th>
					<th>电话</th>
					<th>操作</th>
				</tr>
		    </thead>
		    <tbody>
				<!-- <tr>
					<td>Jack</td>
					<td>123456</td>
					<td>16890890987</td>
					<td><a href="javascript:void(0)">删除</a></td>
				</tr> -->
		    </tbody>
		</table>
	
		<script type="text/javascript">
			//1.点击 注册  录入数据     //2.点击 显示  显示所有数据      //3.点击 删除  删除数据
			var ipt=document.querySelectorAll('input');
			var tab=document.querySelector('tbody');
			var arr,arr0;
			var btn=document.querySelectorAll('button');
			var key='ps';
	        //录入数据
			btn[0].onclick=function () {
			      var p1=new Person(ipt[0].value,ipt[1].value,ipt[3].value);
			      //获取本地数据
			      var date=getDate(key);
			      //判断本地原先是否存有数据
			      if (date!=null) {
			      	arr=JSON.parse(date);
			      }else{
			      	arr=[];
			      }
			      arr.push(p1);
			      setDate(key,arr);
			};
	        //输出数据
			btn[1].onclick=function () {
				clearTab();
	            showDate();		
			};
	
	        //输出表格
			function showDate() {
				//取出本地数据
				arr0=JSON.parse(getDate(key));
				if (arr0==null) {
					return;
				}
				arr0.forEach(function (item) {
					var tr=createTr(item.sname,item.password,item.tele);
					tab.appendChild(tr);
				});
	
			}
			//清除表格内容
			function clearTab() {
				var tr0=tab.getElementsByTagName('tr');
				for (var i = 0,len=tr0.length; i < len; i++) {
					tab.removeChild(tr0[0]);
				}
			}
			//删除本地数据
			function clearDate(Otr) {
				var index=getIndex(Otr);
				if (index==-1) {
					return;
				}
				tab.removeChild(Otr);
				arr0.splice(index,1);
				setDate(key,arr0);
	
	            
			}
			//获取要点击对象在节点中的位置
			function getIndex(Otr) {
				var tr1=tab.getElementsByTagName('tr');
				for (var i = 0; i < tr1.length; i++) {
					if (Otr==tr1[i]) {
						return i;
					}
				}
				return -1;
			}
	       
	        //创建表格
	        function createTr(sname,pwd,tel) {
	        	var tr=document.createElement('tr');
	        	tr.insertCell().innerHTML=sname;
	        	tr.insertCell().innerHTML=pwd;
	        	tr.insertCell().innerHTML=tel;
	        	var td=tr.insertCell();
	        	var link=document.createElement('a');
	        	link.href='javascript:void(0)';
	        	link.innerHTML='删除';
	        	link.onclick=function () {
	        		clearDate(this.parentNode.parentNode);
	        	}
	        	td.appendChild(link);
	        	tr.appendChild(td);
	        	return tr;
	        }
	        //存储本地
	        function setDate(key,value) {
	        	value=JSON.stringify(value);//将value转换为字符串
	        	localStorage.setItem(key,value);
	        }
	        //获取数据
	        function getDate(key) {
	
	        	return localStorage.getItem(key);
	
	        }
	        //构造函数
	        function Person(name,pwd,telep) {
	        	this.sname=name;
	        	this.password=pwd;
	        	this.tele=telep;
	        }
		</script>
	</body>
	</html>
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值