首页 > 其他分享 >js表格输入框

js表格输入框

时间:2023-12-18 17:45:54浏览次数:33  
标签:console log 表格 innerHTML js 输入框 input table td

<!DOCTYPE html> <html lang="en">  <!---- 这里通过原生js实现了表格输入功能, 总体分为一下步骤 1,创建一个表格 2,event.srcElement 获取激活事件的对象,获取已经点击的单元格索引 3,通过处理函数abc()判断输入内容并将内容显示在新的表格中。 --> <head>     <meta charset="UTF-8">     <meta name="viewport" content="width=device-width, initial-scale=1.0">     <title>Document</title> </head> <style>     table,     table td,     table tr {         border: 1px solid #000000;         width: 600px;         height: 50px;         text-align: center;         border-collapse: collapse;         overflow: hidden     }       input {         width: 30px;         height: 30px;         border:0;     } </style>   <body>         <table id="tb_1"  onclick="TabClick();">         <tr>             <td>a</td>             <td>b</td>             <td>c</td>             <td>d</td>         </tr>         <tr>             <td>1</td>             <td>2</td>             <td>3</td>             <td>4</td>         </tr>         <tr>             <td>h</td>             <td>i</td>             <td>j</td>             <td>k</td>         </tr>         <tr>             <td>A</td>             <td>B</td>             <td>C</td>             <td>D</td>         </tr>     </table>       <script>         function TabClick(){                                             var td = event.srcElement; // 通过event.srcElement 获取激活事件的对象 td                    // alert("行号:" + (td.parentElement.rowIndex) + ",列号:" + td.cellIndex);                    let str =''                    if(td.parentElement.rowIndex != undefined || td.cellIndex != undefined){                                                  str = td.parentElement.rowIndex.toString() +td.cellIndex.toString()                          var oldCellValue = td.innerHTML                                               //在单元格中插入一个input,并将它的id设置成行列组成的数字,将这个单元格的索引传递给失去焦点触发的函数,并将单元格的旧数据传递过去                         //td.innerHTML="<input id='"+str+"' type='text' onblur = abc("+td.parentElement.rowIndex+","+td.cellIndex+","+oldValue+") name='temp' value='' >";                         td.innerHTML="<input id='"+str+"' type='text' onblur = abc('"+td.parentElement.rowIndex+"','"+td.cellIndex+"','"+str.toString()+"','"+oldCellValue+"') name='temp' value='"+oldCellValue+"'/>";                         var input1=document.getElementById(str); //获取到创建的input                         input1.focus(); //让input获得焦点                    } else {                         console.log('否则'+td.parentElement.rowIndex);                                          }                 }             function abc(row,cell,nInputId,oldCellValue){ //处理input失去焦点时的动作                                 /*                     1,通过ID获得创建的input                     2,通过ID获得当前表格                     3,判断input是否输入了值                         3.1没有输入就写入单元格之前的值                         3.2输入了就写入输入过的值                     4,通过传递过来的表格索引,给当前点击的单元格写入内容                 */                 let nInput = document.getElementById(nInputId)                 let table= document.getElementById('tb_1')                 nInput.onchange = function(){                     console.log('aaa')                 }                               if(nInput.vallue !='' ){                     console.log(oldCellValue)                     console.log(nInput.value)                     table.rows[row].cells[cell].innerHTML = nInput.value                     console.log('不是空的')                                   } else {                     console.log('空')                     table.rows[row].cells[cell].innerHTML = oldCellValue                 }                 if(table.rows[row].cells[cell] == ''){                         table.rows[row].cells[cell].innerHTML = oldCellValue                     }             }     </script> </body>   </html>

标签:console,log,表格,innerHTML,js,输入框,input,table,td
From: https://www.cnblogs.com/cxywxzj/p/17911775.html

相关文章

  • Json序列化和反序列化(两种方式)
    序列化:对象--->Json反序列化:Json--->对象方式1:.NET3.5自带类库实现.net3.5提供了json对象序列化与反序列化的类。位置在:System.Runtime.Serialization.Json空间下。其中如果要应用这个空间还必须添加对System.ServiceModelSystem.ServiceModel.Web这两个库文件的引用。......
  • Spring Boot学习随笔- JSP小项目-员工管理系统(验证码生成、增删改查)
    学习视频:【编程不良人】2021年SpringBoot最新最全教程第十章、项目开发实现一个登录注册,增删改查功能的系统10.1项目开发流程需求分析分析用户主要需求提取项目核心功能,根据核心功能构建页面原型库表设计:分析系统有哪些表分析表之间关联关系确定字段详细设......
  • js获取当前页面网址
    在JavaScript中,可以使用window.location对象来获取当前页面的网址。以下是几种不同的实现方法:方法一:使用window.location.href varurl=window.location.href;console.log(url);结果:http://localhost/gridsys/Product/PlantQR?puid=8方法二:使用window.location.toStrin......
  • wowjs动画库
    介绍一款极简的动画小插件,依赖animate.css,支持animate.css多达60多种的动画效果animate官网兼容性IE6、IE7等老浏览器不支持CSS3动画,所以没有效果;而wow.js也使用了querySelectorAll方法,IE低版本会报错使用1.animate.css引入<linkrel="stylesheet"type="te......
  • js 录屏
     如下:varbody=document.body;//双击页面触发的话,将“click”改为“dblclick”body.addEventListener("click",asyncfunction(){varstream=awaitnavigator.mediaDevices.getDisplayMedia({video:true});varmime=MediaRecorder.isTypeSupported("video/web......
  • 天猫商品详情接口 json 格式返回介绍
    天猫商品详情数据接口返回的JSON格式数据通常包含以下字段:num_iid:商品IDtitle:商品标题desc_short:商品简短描述price:商品价格total_price:商品总价(如有优惠券等)suggestive_price:推荐价格orginal_price:原价nick:卖家昵称num:库存数量detail_url:商品详情链接pic_url:商品图片链接brand:......
  • Docker部署Node.js应用简单实践
    前言本文将从零至一,介绍如何在云服务器上通过Docker容器运行一个简单的Node应用。本文假设读者已经掌握基本的Linux,Docker,Node,Express知识。基本步骤本地写好nodejs应用,放到github。云服务器安装docker,配置国内镜像加速。拉取一个node镜像。从github拉取项目代码。编写Dockerfil......
  • Windows 运行nodejs程序
    创建第一个应用,首先任意目录新建一个txt。复制以下内容://引入required模块varhttp=require("http");//创建服务器http.createServer(function(request,response){//发送头部response.writeHead(200,{'Content-Type':'text/plain'});//发送响应数据res......
  • element-ui实现输入框千分位
    需求:1.支持v-model。2.支持el-input所有属性。2.失去焦点添加千位符。3.获取焦点去掉千位符。组件一组件GalaxyNumberInput<template><el-inputclass="galaxy-num-input"v-model="displayValue":size="size":clearable......
  • js中结束多层for循环
     关键字break和continue都是结束循环的作用,但是它只能结束它外面的第一层循环,如果代码里面是一层一层又一层的循环,你想直接结束最外层循环就需要outer了。outer:for(inti=0;i<10;i++){for(intj=0;j<10;j++){if(j==0){......