利用原生js做数据管理平台

摘要:数据管理平台在当今社会中运用十分广泛,我们在应用过程中,要对数据进行存储,管理,以及删除查询等操作,而我们在实际设计的时候,大牛们大多用到的是JQuery,而小白对jq理解也较困难,为了让大家回顾一下原生js,也为了让初学者对js熟练掌握,我们利用js进行设计,里面涉及到函数,事件,对象,已经存储,代码如下

<!DOCTYPE html>
<html><head><meta charset="UTF-8"><title></title><style type="text/css">.tr:hover {background-color: #ccc;}</style></head><body>别名(key):<input type="" name="" id="name" value="" /><br /> 网站名:<input type="" id="Webname" /><br /> 网址:<input type="" id="Web" /><br /><input type="button" name="" id="" value="点击提交信息" onclick="func1()" /><br /><h4>网站登录</h4> 网站名:<input type="" id="loginName" /><br /> 网址: 网址 <input type="" id="loginPwd" /><br /><button onclick="login()">登录</button><h1>已经储存的网站</h1><input type="button" value="删除网站" onclick="delSite()" /><br /><input type="text" placeholder="别名" id="search1" /><input type="text" placeholder="网站名" id="search2" /><input type="text" placeholder="网址" id="search3" /><input type="button" name="" id="" value="查询网站" onclick="searchSite()" /><table style="width: 500px;border-collapse: collapse;" border="1" id="table"><thead><tr><th><input type="checkbox" id="checkAll" onclick="checkAll()" /></th><th>序号</th><th>别名</th><th>网站名</th><th>网站</th></tr></thead><tbody id="tbody"></tbody></table><!--<div style="width: 100vw;height: 100vh;background-color: blue;position: absolute; top: 0px;left: 0px;"><div id=""   style="width: 300px;height: 200px;background-color: red;"></div></div>-->别名(key):<input type="" name="" id="name1" value="" /><br /> 网站名:<input type="" id="Webname1" /><br /> 网址:<input type="" id="Web1" /><br /><input type="button" name="" id="" value="修改确定" onclick="dateSites1()" /><script type="text/javascript" src="js/菜鸟教程.js"></script></body></html>
//注册function func1() {var name = document.getElementById("name").value;var Webname = document.getElementById("Webname").value;var Web = document.getElementById("Web").value;var site = {name: name,Webname: Webname,Web: Web}if(localStorage.sites == undefined) {var arr = [];} else {var str = localStorage.sites;var arr = JSON.parse(str);}for(var i = 0; i < arr.length; i++) {if(arr[i].name == name) {alert("姓名已经注册");return;}}arr.push(site);var str = JSON.stringify(arr);localStorage.sites = str;alert("储存完毕");showAllSite();
}//展示
function showAllSite() {if(localStorage.sites == undefined) {return;}var str = localStorage.sites;var arr = JSON.parse(str);var html = "";arr.forEach(function(item, index) {html += "<tr class='tr' οnclick='chooseInput(" + index + ")'   οndblclick='dateSites(" + index + ")'><td><input type='checkbox' value='" + index + "' class='checkbox'/></td><td>" + (index + 1) + "</td><td>" + item.name + "</td><td>" + item.Webname + "</td><td>" + item.Web + "</td></tr>";});var tbody = document.getElementById("tbody");tbody.innerHTML = html;
}
//进来刷新
window.onload = function() {showAllSite();
}
//登录
function login() {var loginName = document.getElementById("loginName").value;var loginPwd = document.getElementById("loginPwd").value;var str = localStorage.sites ? localStorage.sites : "[]";var arr = JSON.parse(str);for(var i = 0; i < arr.length; i++) {if(arr[i].Webname == loginName && arr[i].Web == loginPwd) {alert("登录成功!");var loginUser = JSON.stringify(arr[i]);sessionStorage.loginUser = loginUser;location = "跳转.html";return;}}alert("登录失败!!!");}/*window.onload = function(){var div1 = document.getElementById("div11");div1.onmousedown = function(ev){var oevent = ev || event;var distanceX = oevent.clientX - div1.offsetLeft;var distanceY = oevent.clientY - div1.offsetTop;document.onmousemove = function(ev){var oevent = ev || event;div1.style.left = oevent.clientX - distanceX + 'px';div1.style.top = oevent.clientY - distanceY + 'px'; };document.onmouseup = function(){document.onmousemove = null;document.onmouseup = null;};}
};*//*单击tr选中tr里面的input*/
function chooseInput(index) {var checkboxs = document.getElementsByClassName("checkbox")[index];if(checkboxs.checked) {checkboxs.checked = false;} else {checkboxs.checked = true;}}//点击全选的inputfunction checkAll() {var thisInput = document.getElementById("checkAll");var checkboxs = document.getElementsByClassName("checkbox");for(var i = 0; i < checkboxs.length; i++) {if(thisInput.checked) {checkboxs[i].checked = true;} else {checkboxs[i].checked = false;}}
}/*删除*/function delSite() {var checkboxs = document.getElementsByClassName("checkbox");var count = 0;var str = localStorage.sites;var arr = JSON.parse(str);for(var i = 0; i < checkboxs.length; i++) {if(checkboxs[i].checked) {var index = parseInt(checkboxs[i].value) - count;arr.splice(index, 1);count++;}}localStorage.sites = JSON.stringify(arr);if(count == 0) {alert("请至少选择一项");} else {alert("删除成功,删除了" + count + "项");showAllSite();}}

/** 查询网站*/
function searchSite() {var name = document.getElementById("search1").value;var Webname = document.getElementById("search2").value;var Web = document.getElementById("search3").value;var str = localStorage.sites;var arr = JSON.parse(str);var newArr = []; //用于装载,符合条件的数据for(var i = 0; i < arr.length; i++) {var isWzm = true,isBm = true,isWz = true;if(arr[i].name.indexOf(name) == -1 && name != "") {isWzm = false;}if(arr[i].Webname.indexOf(Webname) == -1 && Webname != "") {isBm = false;}if(arr[i].Web != Web && Web != "") {isWz = false;}if(isWzm && isBm && isWz) {arr[i].index = i; // 把查询出的数据,在localStorage里面的下标,暂存到新数组的每个对象的index属性上
            newArr.push(arr[i]);}}var html = "";console.log(newArr);newArr.forEach(function(item, index) {html += "<tr class='tr' οnclick='chooseInput(" + index + ")'><td align='center'><input type='checkbox' value='" + item.index + "' class='checkbox' /></td><td>" + (index + 1) + "</td><td>" + item.name + "</td><td>" + item.Webname + "</td><td>" + item.Web + "</td></tr>";});var tbody = document.getElementById("tbody");tbody.innerHTML = html;}//修改网站
var updateIndex = 0;function dateSites(index) {alert(index);var str = localStorage.sites;var arr = JSON.parse(str);document.getElementById("name1").value = arr[index].name;document.getElementById("Webname1").value = arr[index].Webname;document.getElementById("Web1").value = arr[index].Web;updateIndex = index;}function dateSites1() {var str = localStorage.sites;var arr = JSON.parse(str);var name = document.getElementById("name1").value;var Webname = document.getElementById("Webname1").value;var Web = document.getElementById("Web1").value;for(var i = 0; i < arr.length; i++) {if(arr[i].name == name) {alert("网站名已经注册,请更换网站名");return;}}var site = {name: name,Webname: Webname,Web: Web,};arr.splice(updateIndex, 1, site);localStorage.sites = JSON.stringify(arr);showAllSite();
}

代码较长,对于各部分,已经用注释给分开,而css对于功能影响不大,因此我们没有对css进行设置。弄清楚这段代码,初学者会有很大进步。

转载于:https://www.cnblogs.com/zhangxinlei/p/7501168.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/268441.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ios 阅览器html5,HTML5测试:iOS 8浏览器Safari提升明显

没错&#xff0c;日前&#xff0c;国外著名手机网站GSMArena就发现iOS 8中的Safari浏览器确实增强了对HTML5的支持。如下图所示&#xff0c;在HTML5test.com的数据库中&#xff0c;新版本Safari得到的分数为440(满分为550)&#xff0c;相比iOS 7中的Safari的412分来说还是有不小…

RAID冗余技术的介绍AND实现

一、RAID技术规范简介 RAID技术主要包含RAID 0&#xff5e;RAID 7等数个规范&#xff0c;它们的侧重点各不相同&#xff0c;常见的规范有如下几种&#xff1a; RAID 0&#xff1a;RAID 0连续以位或字节为单位分割数据&#xff0c;并行读/写于多个磁盘上&#xff0c;因此具有很高…

计算机原理 doc,计算机原理作业.doc

PAGEPAGE 1计算机原理作业单项选择题  1&#xff0e;指令JMP?FAR?PTR?DONE属于     A&#xff0e;段内转移直接寻址   B&#xff0e;段内转移间接寻址   C&#xff0e;段间转移直接寻址   D&#xff0e;段间转移间接寻址2&#xff0e;下列叙述正确的是    …

运行下的命令

oobe/msoobe /a----检查XP是否激活 notepad--------打开记事本 gpedit.msc-----组策略 sndrec32-------录音机 Nslookup-------IP地址侦测器 explorer-------打开资源管理器 logoff---------注销命令 tsshutdn-------60秒倒计时关机命令 lusrmgr.msc----本机用户和组 services.…

SQL2008R2的 遍历所有表更新统计信息 和 索引重建

【2.以下是更新统计信息】 DECLARE UpdateStatisticsTables CURSOR READ_ONLY FORSELECT sst.name,Schema_name(sst.schema_id)FROM sys.tables sstWHERE sst.TYPE UDECLARE name VARCHAR(80),schema VARCHAR(40)OPEN UpdateStatisticsTablesFETCH NEXT FROM UpdateStati…

计算机语言up,TweakBit PCSpeedUp

&#xfeff;TweakBit PCSpeedUp是一款深层次的pc系统优化软件&#xff0c;它可以帮你深度清理电脑系统&#xff0c;扫描系统中的重复、缓存文件并帮你清理这些占用空间的东西&#xff0c;让你的系统解放出来&#xff0c;运行速度更快&#xff0c;更高效。软件介绍&#xff1a;…

mysql五-1:单表查询

一 介绍 本节内容: 查询语法 关键字的执行优先级 简单查询 单条件查询:WHERE 分组查询:GROUP BY HAVING 查询排序:ORDER BY 限制查询的记录数:LIMIT 使用聚合函数查询 使用正则表达式查询 company.employee员工id id int 姓名 emp_na…

ST、SC、FC、LC光纤接头区别

ST、SC、FC、LC光纤接头区别ST、SC、FC光纤接头是早期不同企业开发形成的标准&#xff0c;使用效果一样&#xff0c;各有优缺点。 ST、SC连接器接头常用于一般网络。ST头插入后旋转半周有一卡口固定&#xff0c;缺点是容易折断&#xff1b;SC连接头直接插拔&#xff0c;使用很方…

计算机部分选择怎么操作,计算机基础试题选择题部分

计算机基础试题选择题部分《计算机基础》选择题1、世界上第一台电子计算机研制成功的时间是___________。 A、1936 B、1956 C、1946 D、19752、世界上第一台电子数字式计算机的____________。 A、ENDAC B、ENIAC C、UNIVAC D、EDVAC3、被称为计算机之父的是__________。 A、艾伦…

查看apk包名和Activity的方法

使用adb shell dumpsys window | findstr mCurrentFocus 命令查看当前运行的包名和Activity 包名&#xff1a;com.mymoney Activity:com.mymoney.ui.main.MainActivity 转载于:https://www.cnblogs.com/Bella-fu/p/7516056.html

图片防盗链

using System;using System.Web;/// <summary>/// ImageProtect 的摘要说明/// </summary>public class ImageProtect : IHttpHandler{ public ImageProtect() { // // TODO: 在此处添加构造函数逻辑 // } public void ProcessRe…

计算机系统组成图表,Excel2013中的图表作用组成类型与认识(上)——想象力电脑应用...

在Excel工作表中&#xff0c;当我们查看数据的时候&#xff0c;只用表格来表示的话&#xff0c;是很难清楚的看出数据大小与数据关系的&#xff0c;当我们用图表来展示效果的时候&#xff0c;就会有更好的视频效果&#xff0c;更能展示数据的关系&#xff0c;还 可以通过图表中…

Kali Linux 下渗透测试 | 3389 批量爆破神器 | hydra | 内网渗透测试

kali linux 下渗透测试&#xff0c;3389 批量爆破神器 hydra -M target.txt rdp -L userlist.txt -P passwordlist.txt -V rootkali:~# hydra -h Hydra v8.3 (c) 2016 by van Hauser/THC - Please do not use in military or secret service organizations, or for illegal pur…

inode directory

转载于:https://blog.51cto.com/wangwx/203837

计算机系统组装 维护常用工具及其作用,《计算机系统组装维护》课程实用标准.doc...

实用文案标准《维修电工实训B》课程标准课程代码课程类别专业课程课程类型实践课程课程性质必修课程课程学分2学分课程学时40学时修读学期第1学期适用专业计算机合作开发企业执笔人费化林审核人1.课程定位与设计思路1.1课程定位《计算机组装与维护》课程对应于计算机维修员&…