通过JS代码动态生成HTML表格(Table),Input框,Button按钮.并且通过Input框的值进行查询动态生成数据填写在指定的表格里

4 篇文章 0 订阅

本人公众号上线啦!!!

公众号与博客名一样:没有腹肌的程序猿
公众号文章类型:工作上所遇到的需求实现方案分享。
此外也会提供一些数据集供大家使用。(这个还在规划中,毕竟打工人时间挺紧的,哈哈哈哈)
到时候也会不定期给大家抽一些小东西哦。

通过JS代码动态生成HTML表格(Table),Input框,Button按钮.并且通过Input框的值进行查询动态生成数据填写在指定的表格里

需求分析:

  • 使用JS动态生成Table表格、input框、button按钮

  • 通过input框、button按钮实现查询。

  • 将查询后的结果动态填写在table里面。

实现的效果

通过点击测试按钮生成下面的表格和其他组件

在这里插入图片描述在这里插入图片描述

需求实现

1.先在页面定义一个div,用来指定表格生成在哪,并设置一个按钮来触发生成表格函数

<div id="ch_DIV"></div>
<button onclick="createTable()">测试</button>

2.编写生成表格的函数

var div = document.getElementById("ch_DIV");
var table = document.createElement("table");
//给table的id className进行赋值
table.id = "visitInfoTable";
table.className = "visitInfoTable";
//表格的属性可以依旧自己的需求变更
table.border="1px";
table.cellSpacing = "0px";
table.style.borderColor="#6495ED";
//生成表格  表格由于带有表头, 大家可以根据自己的需求设置表头,我这写的例子的表头是在每一行的第一个
//这是一个5行2列的格子. i控制行 k控制列
for(var i=0;i<5;i++){
		var row = table.insertRow();//创建行
		for(k=0;k<2;k++){
			if(i==0&&k==0){
				 var cell = row.insertCell();//创建一个单元 
		            cell.height = "30";//cell的各种属性 
		            cell.width = "160";
		            //cell.style.backgroundColor = "#E6E6FA"; 
		            cell.align = "center"; 
		            cell.style.border='1px #6495ED solid'; 
		            cell.innerHTML="格子内容";
			}else if(i==1&&k==0){
				var cell = row.insertCell();//创建一个单元 
	            cell.height = "30";//更改cell的各种属性 
	            cell.width = "160";
	            cell.align = "center"; 
	            cell.style.border='1px #6495ED solid'; 
	            cell.innerHTML="格子内容";
			}else if(i==2&&k==0){
				var cell = row.insertCell();//创建一个单元 
	            cell.height = "30";//更改cell的各种属性 
	            cell.width = "160";
	            cell.align = "center"; 
	            cell.style.border='1px #6495ED solid'; 
	            cell.innerHTML="格子内容";
			}else if(i==3&&k==0){
				var cell = row.insertCell();//创建一个单元 
	            cell.height = "30";//更改cell的各种属性 
	            cell.width = "160";
	            cell.align = "center"; 
	            cell.style.border='1px #6495ED solid'; 
	            cell.innerHTML="格子内容";
			}else if(i==4&&k==0){
				var cell = row.insertCell();//创建一个单元 
	            cell.height = "30";//更改cell的各种属性 
	            cell.width = "160";
	            cell.align = "center"; 
	            cell.style.border='1px #6495ED solid'; 
	            cell.innerHTML="格子内容";
			}else{
				 var cell = row.insertCell();//创建一个单元 
		            cell.height = "30";//更改cell的各种属性 
		            cell.width = "160";
		            //cell.style.backgroundColor = "#E6E6FA"; 
		            cell.align = "center"; 
		            cell.style.border='1px #6495ED solid'; 
		            //cell.innerHTML="测试";
			}
		   
		}
    //然后把table加上页面的html中
    div.appendChild(table); 
	}

3.编写生成input框函数

//原理跟生成table是差不多的
var input = document.createElement("input");
input.className = "searchVisit"; 
input.id = "searchVisit"; 
//然后记得将input放到页面上 div怎么来的参考上面的table
div.appendChild(input); 
//获取input框的值,得确保页面已经生成input框.
var searchValue = document.getElementById("searchVisit").value;

4.编写生成button按钮

var button = document.createElement("button");
div.appendChild(button); 
//这一步骤是给button按钮里面添加文字.
var t=document.createTextNode("查询");
button.appendChild(t);
//button的点击事件
button.onclick = function(){
    //函数执行的内容.
    ..............
    //执行查询完后 将查询到的值添加到table表格中
    //首先通过getElementById拿到表格
    var table = document.getElementById("visitInfoTable");
    //获取到每一个小格子
    //这个是第一行第二个格子
    var td1=table.getElementsByTagName("tr").item(0).getElementsByTagName("td").item(1);
	//这个是第二行第二个格子
    var td2=table.getElementsByTagName("tr").item(1).getElementsByTagName("td").item(1);
	//这个是第三行第二个格子
    var td3=table.getElementsByTagName("tr").item(2).getElementsByTagName("td").item(1);
	//这个是第四行第二个格子
    var td4=table.getElementsByTagName("tr").item(3).getElementsByTagName("td").item(1);
	//这个是第五行第二个格子
    var td5=table.getElementsByTagName("tr").item(4).getElementsByTagName("td").item(1);
	//给格子赋值 
    td1.innerHTML = "格子的内容";
}

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您可以使用JavaScript来实现在表格中添加一行数据并将输入中的传递给后台。以下是一个简单的示例代码: 首先,在HTML代码创建一个包含表格和一个按钮的容器: ```html <div id="container"> <table id="myTable"> <tr> <th>姓名</th> <th>年龄</th> </tr> <tr> <td>John</td> <td>30</td> </tr> <!-- 其他行... --> </table> <input type="text" id="nameInput" placeholder="姓名"> <input type="text" id="ageInput" placeholder="年龄"> <button onclick="addRow()">添加行</button> </div> ``` 然后,在JavaScript中定义一个函数addRow()来处理按钮点击事件,并将输入中的添加到表格中的新行中: ```javascript function addRow() { // 获取输入 var name = document.getElementById("nameInput").value; var age = document.getElementById("ageInput").value; // 创建新行和单元格 var table = document.getElementById("myTable"); var row = table.insertRow(table.rows.length); var nameCell = row.insertCell(0); var ageCell = row.insertCell(1); // 设置新行的 nameCell.innerHTML = name; ageCell.innerHTML = age; // 发送数据到后台,这使用了fetch API发送POST请求 fetch("your_backend_url", { method: "POST", headers: { "Content-Type": "application/json", }, body: JSON.stringify({ name: name, age: age }), }) .then((response) => response.json()) .then((data) => { // 处理后台返回的响应数据 console.log(data); }) .catch((error) => { console.error("Error:", error); }); } ``` 请注意,上述代码中的"your_backend_url"应替换为您自己的后端接口地址。 这样,当用户在输入输入姓名和年龄,并点击添加行按钮时,将会在表格中添加一行,并将输入数据通过POST请求发送给后台。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值