【入门】点击按钮添加输入框
示意图:
程序步骤说明:
1、驻点:div标签
<div id="tags"></div>
..........
<div id="showTags"></div>
两个div标签的作用是标记一个驻点,好让js往页面上添加内容。换句话说就是js往页面添加内容的入口。
2、添加输入框
function addTags()中的
var str = "<input type='text' name='tagsInput' size='20' /><br />";
document.getElementById("tags").innerHTML += str;
就是完成添加输入框的工作。
3、如何保证添加新的输入框后原来输入框中的内容能够保持?
可以在添加之前,先将原来的内容保存在一个数组中,添加完新的输入框后,再将数组中的内容还原到之前的输入框中

1//保存之前输入框中的内容至数组中
2var itemOriginal =document.getElementsByName("tagsInput");
3 var arr = new Array(itemOriginal.length);
4 for(var j = 0; j < itemOriginal.length;j++){
5 arr[j] = itemOriginal.item(j).value;
6 }
7//添加输入框的语句。。。。
8
9//还原之前输入框中的内容
10var str = "<input type='text' name='tagsInput' size='20' /><br />";
11 document.getElementById("tags").innerHTML += str;
12 var itemNew =document.getElementsByName("tagsInput");
13 for(var i=0;i<arr.length;i++)
14 {
15 itemNew.item(i).value = arr[i];
16 }
---------------------------------------------------------------------------------------
完整程序:

1 <script type="text/javascript">
2 function addTags()
3 {
4 var itemOriginal =document.getElementsByName("tagsInput");
5 var arr = new Array(itemOriginal.length);
6 for(var j = 0; j < itemOriginal.length;j++){
7 arr[j] = itemOriginal.item(j).value;
8 }
9
10 var str = "<input type='text' name='tagsInput' size='20' /><br />";
11 document.getElementById("tags").innerHTML += str;
12 var itemNew =document.getElementsByName("tagsInput");
13 for(var i=0;i<arr.length;i++)
14 {
15 itemNew.item(i).value = arr[i];
16 }
17 }
18 function showTags(){
19 var item=document.getElementsByName("tagsInput");
20 for(var i=0;i<item.length;i++)
21 {
22 document.getElementById("showTags").innerHTML += item[i].value + " ";
23 }
24 }
25 </script>
26 <form action="" method="post">
27 <input name="addTag" type="button" value="add tag" onclick="addTags()"/>
28 <div id="tags"></div>
29 <br />
30
31 <hr />
32 <input type="button" onclick="showTags()" value="show tags" />
33 <div id="showTags"></div>
34 </form>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构