首页 > 其他分享 >学生信息登记表单的录入删除代码JS+HTML TOMCAT听课笔记

学生信息登记表单的录入删除代码JS+HTML TOMCAT听课笔记

时间:2023-08-27 20:12:00浏览次数:45  
标签:arr const TOMCAT tbody JS uname HTML querySelector document

<!DOCTYPE html>
<html>
    <head>
       
    </head>
 <body>
   
    <form class="info" autocomplete="off">
        姓名:<input type="text" class="uname" name="uname">
        年龄<input type="text" class="age" name="age">
        性别:<select name="gender" class="gender">
                <option value="男">男</option>
                <option value="女">女</option>
        </select>
        薪资<input type="text" class="salary" name="salary"/>
        就业城市<select name="city" class="city">
            <option value="北京">北京</option>
            <option value="上海">上海</option>
            <option value="广州">广州</option>
            <option value="深圳">深圳</option>
        </select>
        <button class="add">录入</button>
    </form>
   <h1>就业榜</h1>
   <table>
        <thead>
            <tr>
                <th>学号</th>
                <th>姓名</th>
                <th>年龄</th>
                <th>性别</th>
                <th>薪资</th>
                <th>就业城市</th>
                <th>操作</th>
            </tr>
        </thead>
        <tbody class="tbody">

        </tbody>
   </table>
</body>
</html>
   <script>
        const uname=document.querySelector('.uname');
        const age=document.querySelector('.age');
        const gender=document.querySelector('.gender');
        const salary=document.querySelector('.salary');
        const city=document.querySelector('.city');
        const tbody=document.querySelector('tbody');
        const items=document.querySelectorAll("[name]");
       

       const arr=[];

       const info=document.querySelector('.info');
       info.addEventListener('submit',function(e){
            e.preventDefault();

            for(let i=0;i<items.length;i++){
                if(items[i].value===''){
                    return alert('内容不能为空');
                }
            }

           const obj={
                stuId:arr.length+1,
                uname:uname.value,
                age:age.value,
                gender:gender.value,
                salary:salary.value,
                city:city.value,


           };
           //console.log(obj);
           //追加给数组
           arr.push(obj);
           console.log(arr);
           //清空表单
           this.reset();
           //调用渲染函数
           render();//渲染 调用底下那个渲染函数啊
       });
       //渲染函数
       function render(){
            //遍历arr数组
           
            tbody.innerHTML='';//清空下tbody,
            for(let i=0;i<arr.length;i++){
                //生成tr
                const tr=document.createElement('tr'); //不懂这句放在for好 for里面好
                tr.innerHTML=`
                    <td>${arr[i].stuId}</td>
                    <td>${arr[i].uname}</td>
                    <td>${arr[i].age}</td>
                    <td>${arr[i].gender}</td>
                    <td>${arr[i].salary}</td>
                    <td>${arr[i].city}</td>
                    <td>
                        <a href="javascript:" data-id=${i}>删除</a>
                    </td>`
                //追加元素  父元素.appendChild
                tbody.appendChild(tr);
            }
          
       }
       //删除操作
       //事件委托
       tbody.addEventListener('click',function(e){
            if(e.target.tagName==='A'){
                console.log(e.target.dataset.id);
                arr.splice(e.target.dataset.id,1);
                console.log(arr);

                render();//重新渲染下

            }
       })
   </script>

 

标签:arr,const,TOMCAT,tbody,JS,uname,HTML,querySelector,document
From: https://www.cnblogs.com/tomcat2022/p/17660733.html

相关文章

  • Python HTML 的模板引擎 Jinja2
    PythonJinja2是一个用于生成动态HTML的模板引擎。它可以让你在HTML中使用Python的语法和逻辑,从而实现数据和视图的分离。本文将介绍PythonJinja2的基本用法和特性,以及一些实例和技巧。安装和导入要使用PythonJinja2,你需要先安装它。你可以使用pip命令来安装:pip......
  • github.com/json-iterator/go 详细教程
    最近接触到了github.com/json-iterator/go,是由滴滴开源的第三方json编码库,它同时提供Go和Java两个版本。文中大量内容来自github上的wiki文档,有兴趣的朋友可以直接点击Home跳转到官方文档查阅。本文加了些自己的思考以及相关的详细学习例子,废话不多说了,冲!!!1、基础介......
  • 使用 XStream实现JavaBean 与 XML/JSON 之间相互转换
    XML和JSON是当今常用的两种数据描述与传输的格式,特别是涉及到JS时使用JSON颇为频繁。自然,在Java的世界里少不了完成JavaBean与这两种格式相互转换的组件,那就是XStream和JSON-lib。这里我简单记下XStream的用法。其实相类似的工具早已有之。如果用过DWR的同志,一定有印像,DWR进行远程......
  • Tomcat参数配置
    http://tomcat.apache.org/tomcat-6.0-doc/config/http.html enableLookups:是否反查域名,取值为:true或false,默认true。为了提高处理能力,如果不需要取得访问来源的域名,应设置为false,设置为false的时候,只能获取IP。 maxThreads:设置最大并发数,默认200。 acceptCount:允许的最大连接数......
  • Java使用Jsch执行Shell命令
    JSch是SSH2的纯Java实现。JSch允许您连接到sshd服务器并使用端口转发,X11转发,文件传输等,您可以将其功能集成到您自己的Java程序中。JSch获得BSD格式许可证。最初,我们开发这些东西的动机是允许我们的纯JavaX服务器WiredX的用户享受安全的X会话。所以,我们的努力主要是为了实现用......
  • office-js操作word
    office-js是一个用于操作Word文档的JavaScript库,它允许你在Word文档中创建、读取、编辑和删除内容。以下是一些常用的方法及其详细参数说明: 1.**Word.run**:运行一个Word宏。你需要提供一个包含宏代码的字符串。   ```javascript  constword=require('......
  • office-js操作email
    office-js是一个JavaScript库,用于与MicrosoftOffice文档进行交互。它提供了一些方法来操作电子邮件,包括发送、接收和读取邮件。以下是一些常用的方法及其详细参数说明: 1.`Office.context.mailbox.sendMailAsync(options)`:发送邮件  -options:包含以下属性的对象......
  • sharp.js的常用方法
    sharp.js是一个用于处理图像的JavaScript库,它提供了许多方法来操作和修改图像。以下是一些常用的sharp.js方法及其详细参数说明: 1.`resize(width,height)`:调整图像的宽度和高度。  -width(Number):新的宽度。  -height(Number):新的高度。 2.`crop(left,top,widt......
  • MySQL.js用法
    mysql.js是一个用于连接MySQL数据库的JavaScript库。以下是一些常用的方法及其详细参数说明: 1.创建连接对象: ```javascriptconstmysql=require('mysql');constconnection=mysql.createConnection({ host:'localhost',//数据库地址 user:'root',//数据......
  • office-js操作Excel
    office-js是OfficeAdd-ins中的一个JavaScript库,用于在Office应用程序中创建自定义功能。它提供了一组API,可以与Excel进行交互,包括读取和写入数据、格式化单元格等。 以下是一些常用的office-js操作Excel的方法及其详细参数说明: 1.打开Excel文件: ```javascriptExcel.ru......