页面样式


html


    <header>学生信息管理</header><table id="tablebox" class="tablebox"><thead><th>姓名</th><th>年龄</th><th>班级</th></thead></table><form class="message-input"><input type="text" id="namebox" placeholder="请输入姓名" name="namebox"><input type="text" id="agebox" placeholder="请输入年龄" name="agebox"><select id="selectbox" name="select"><option selected="selected">请选择</option><option >软件一班</option><option >软件二班</option><option>软件三班</option></select><!-- <input id="submit" type="submit"></input> --><button type="button" id="submit">提交</button></form>

css


    * {margin: 0;padding: 0;}body {width: 800px;margin: 0 auto;display: flex;flex-direction: column;justify-content: center;align-items: center;}header {position: fixed;top: 0;text-align: center;width: 100%;height: 50px;line-height: 50px;font-size: 20px;background-color: rgba(180, 66, 37, 0.916);}#tablebox {margin-top: 70px;border: 1px solid #333;width: 800px;/* 去除单元格间隙 */border-collapse: collapse;}#tablebox thead th,#tablebox tr td {border: 1px solid #333;text-align: center;padding: 10px;}.message-input {margin-top: 70px;}#namebox,#agebox {height: 30px;border-radius: 4px;border: 1px solid rgb(143, 140, 140);text-align: center;outline-color: rgb(209, 75, 75);}.message-input select {height: 30px;border: 1px solid rgb(143, 140, 140);border-radius: 4px;cursor: pointer;color: gray;outline-color: rgb(209, 75, 75);}.message-input select option {color: #333;}.message-input #submit {width: 50px;height: 30px;border: none;border-radius: 4px;color: #fff;background-color: rgba(180, 66, 37, 0.916);cursor: pointer;}

js


<script>var tableboxEle = document.getElementsByClassName("tablebox")[0];var nameboxEle = document.getElementById("namebox");var ageboxEle = document.getElementById("agebox");var selectboxEle = document.getElementById("selectbox");var submitEle = document.getElementById("submit");//测试获取selectbox里面的内容// console.log(selectboxEle.text);// console.log(selectboxEle[2]);//初始化messageListvar messageList = [];var message = localStorage.getItem("messageList");messageList = message ? JSON.parse(localStorage.getItem("messageList")) : [];//for循环在页面输出for (var i = 0; i < messageList.length; i++) {tableboxEle.innerHTML += addMessageList(messageList[i].name, messageList[i].age, messageList[i].class);}// 提交点击事件submitEle.addEventListener('click', function() {getValue();})// 获取form表单里面输入的姓名和年龄以及选择的班级function getValue() {// 获取输入的姓名var nameValue = nameboxEle.value;if (!nameValue) {alert("请输入姓名");}console.log(nameValue);// 获取输入的年龄var ageValue = ageboxEle.value;if (!ageValue) {alert("请输入年龄");}console.log(ageValue);// 获取选择的班级//selectedIndex属性可设置或返回下拉列表被选选项的索引号var index = selectboxEle.selectedIndex;if (index == 0) {alert("请选择班级");}var classValue = selectboxEle[index].text;console.log(classValue);//清空valuenameboxEle.value = "";ageboxEle.value = "";selectboxEle.text = selectboxEle[0].text;//调用方法push进messaList数组中// addMessage(nameValue, ageValue, classValue);messageList.push({name: nameValue,age: ageValue,class: classValue})//调用方法存到表格格式中var list = addMessageList(nameValue, ageValue, classValue);console.log(list);//将messaList数组存储到本地localStorage.setItem("messageList", JSON.stringify(messageList));//for循环将表格格式的内容添加到页面中tableboxEle.innerHTML += list;}console.log(messageList);// 将相关信息添加到messageList中// function addMessage(nameValue, ageValue, classValue) {//     messageList.push({//             name: nameValue,//             age: ageValue,//             class: classValue//         })//         //将messaList数组存储到本地//     localStorage.setItem("messageList", JSON.stringify(messageList));// }//定义样式function addMessageList(nameValue, ageValue, classValue) {return `<tr><td>${nameValue}</td><td>${ageValue}</td><td>${classValue}</td></tr>`}
</script>

知识总结:


一: submit属于提交按钮,不需要绑定监听事件,button需要手动添加事件,作用范围广

(出现的问题:运用submit导致点击事件里面的方法都没办法实现)


二:有关获取下拉列表select选择的option的内容

<select id="select">

<option></option>

<option></option>

<option></option>

</select>

1.获取select对象

var a=document.getElementById("select");

2.获取选择的option的索引(selectedIndex属性可设置或返回下拉列表被选选项的索引号)

var index=a.selectedIndex;

3.获取被选中的option的text或者value

var text=a[index].text;


三、多个数据输入需要用<form></form>表单域将所有input表单包裹起来使彼此之间建立关联,可以通过设置id值与统一文档中的<form>建立关联,或者与任何存在的祖先<form>元素关联。


四、去除单元格间隙

border-collapse: collapse;


五、初始化列表的值为本地储存的列表,列表为空时会报错

var List = [];//初始化列表为空

var message = localStorage.getItem("messageList");//获取本地存储的列表

List = message ? JSON.parse(localStorage.getItem("messageList")) : [];//判断列表是否为空并初始化列表数值


六、思路:

1.获得所有所需对象

2.定义列表存储所需表单输入的内容

var messageList=({

name: "",

age: "",

class: ""

})

3.获取表单输入的内容

nameValue/ageValue/classValue

4.清除表单输入的内容

(注:不要将表单内容和获取的表单内容混淆)

5.将所获值存储到列表中

list.push({

name: nameValue,

age: ageValue,

class: classValue

})

(注:push()方法中的格式应和列表格式保持一致)

6.撰写一个方法,用来将数值按要求样式在页面输出,将前面所获得的数值运用字符串`${Str}`模板替换

function addMessageList(nameValue, ageValue, classValue) {

return `<tr>

<td>${nameValue}</td>

<td>${ageValue}</td>

<td>${classValue}</td>

</tr>`

}

7.调用样式方法获得样式字符串

var list=addMessageList(nameValue, ageValue, classValue);

8.将列表存储到本地

localStorage.setItem("list", JSON.stringify(list));

(注:此处要用到 JSON.stringift()将值转化为String类型,因为localStorage.setItem("String",String))

9.将7.中调用样式方法所获得的样式字符串在页面中渲染出来

tableboxEle.innerHTML += list;

(注:只有class类型的对象才能使用innerHTML)

10.定义点击事件方法

(1)input控件绑定onclick事件,定义onclick事件的方法,将以上除6以外的内容调用在该方法中

<input type="button" οnclick="getIndex()" >

getIndex(){

相关事件

}

(2)点击触发click或者change事件,运用addEventListener() 方法向指定元素添加事件句柄。

<button type="button" id="submit">提交</button>

var submitEle=document.getElementById("submit");

submitEle.addEventListener('click', function() {

相关事件

})

11.初始化列表(将列表内容替换成本地存储的列表数据)

var messageList = [];

var message = localStorage.getItem("messageList");

messageList = message ? JSON.parse(localStorage.getItem("messageList")) : [];

(注:localStorage.getItem("messageList")所获得的值为字符串,用JSON.parse()将其转换为数组)

12.for循环遍历列表

因为我们定义的列表格式并不是我们可以在页面上渲染出来的样式,所以需要将列表里的内容通过调用到步骤6中的内容中按照所需样式添加到列表中

for (var i = 0; i < messageList.length; i++) {

tableboxEle.innerHTML += addMessageList(messageList[i].name, messageList[i].age, messageList[i].class);

}


七、问题

2.下拉列表如何实现提交后返回原状

3.autocomplete=“off”在css中如何体现

原生js编写学生信息管理系统——添加学生信息相关推荐

  1. java学籍管理系统课设报告,基于SSM+Redis+LayUI的大学生学籍信息管理系统-java学生学籍信息管理系统mysql数据源...

    "基于SSM+Redis+LayUI的大学生学籍信息管理系统-java学生学籍信息管理系统mysql数据源 1.包含源程序,数据库脚本.代码和数据库脚本都有详细注释. 2.课题设计仅供参考学 ...

  2. android 学生信息管理系统,android学生信息管理系统的报告.docx

    android学生信息管理系统的报告 基于Android的学生信息管理系统初探 [摘要]智能移动端迅猛发展,学生信息管理的数字化是教学透明的又一个重要体现,本文主要阐述基于基于Android的学生信息 ...

  3. JAVA JSP学生信息档案管理系统JSP学生管理系统JSP学生档案管理系统JSP学生信息管理系统

    JAVA JSP学生信息档案管理系统JSP学生管理系统JSP学生档案管理系统JSP学生信息管理系统 protected void doGet(HttpServletRequest req, HttpS ...

  4. java考勤管理系统源码java学生考勤请假系统java学生考勤管理系统 java考勤系统java学生信息管理系统java学生管理系统

    java考勤管理系统源码java学生考勤请假系统java学生考勤管理系统 java考勤系统java学生信息管理系统java学生管理系统 public Swingtest002() {// 设置标题se ...

  5. 原生js编写小米购物车

    原生js编写小米购物车案例 思路 一.将数据渲染到下方ul中 1.遍历数据添加到li标签内 二.渲染购物车内容,将ul中li添加到购物车.添加点击事件 1.加入购物车内容1.判断购物车内需不需要添加此 ...

  6. 原生js编写的todos

    原生js编写的todos 如果有什么问题,可以直接问我 <!DOCTYPE html> <html><head><meta charset="UTF ...

  7. 【HTML】原生js实现的图书馆管理系统

    1.引言 设计结课作业,课程设计无处下手,网页要求的总数量太多?没有合适的模板?数据库,java,python,vue,html作业复杂工程量过大?毕设毫无头绪等等一系列问题.你想要解决的问题,在微信 ...

  8. js html颜色代码,原生js编写的浏览器安全色网页拾色器色盘 生成颜色代码

    原生js编写的浏览器安全色网页拾色器 by js.alixixi.com #abc-colorPicker .colorPick-close,#filter-colorPicker .colorPic ...

  9. android向apk的META-INF(签名信息)中添加渠道信息

    作者:燕歆波 导读:在没有源码的情况下,为了避免重新签名,直接在签名信息中添加渠道信息; 准备好两个文件:一个空文件"channel_fhxs"没有后缀名,还有一个.prepert ...

最新文章

  1. 公司这套架构统一处理 try...catch 这么香,求求你不要再满屏写了,再发现扣绩效!...
  2. kcf 脊回归 范数
  3. 高并发编程-Wait Set 多线程的“休息室”
  4. SAP WebIDE里的JavaScript代码检查code check
  5. [转]MySQL日志——Undo | Redo
  6. mysql alter table_mysql ALTER TABLE 的用法
  7. ASP.NET中将数据输出到Excel
  8. java 夏令时 容器 问题,Java夏令时有关问题
  9. php7.0搭配nginx,Linux安装配置php7.0+nginx
  10. 关于CocosStudioV3.10的场景导入Cocos2d-xV3.17.2场景未发生变化的解决方案
  11. 数据库SQL Server DAC 导入导出数据到SQL Azure问题
  12. 最大流的四种常用算法
  13. 服务器搬迁方案_机房搬迁方案
  14. 姚锦云:再论庄子传播思想与接受主体性:回应尹连根教授
  15. lua工具库penlight--06数据(二)
  16. 让耳机有个思想准备 趣谈煲耳机方法
  17. AB post 请求压测
  18. 网页炫酷特效拿来即可用(看板娘鼠标点击炫酷登录页面樱花特效生日祝福彩虹屁)
  19. cortex M7 MPU 总结
  20. 使用python完成简单的批量信息发送

热门文章

  1. js根据生日输出对应的生肖和星座
  2. 组态王安装error_组态王常见问题的解决方法
  3. OPC DA 与 OPC UA区别
  4. 斯坦福大学啥课最火?读了这些书你就知道了!
  5. JMeter(二十一):使用BeanShell解析Json格式的报文
  6. Windows下wafw00f的安装
  7. 铁通计算机网络,【计算机网络技术】常见宽带错误代码及处理办法(使用移动宽带【铁通】、部分电信宽带故障、联通宽带故...
  8. 加密一条保序的数据流
  9. 暑假提高7--G - 手游大佬 (细节处理模拟)
  10. 三大功能护航,Amazfit跃我 PowerBuds Pro正式发售