h5 页面点击添加添加input框

前段时间有个需求,页面要能点击添加按钮控制input框的个数,当时感觉有点难,就没做,这两个又遇到了,没办法写了个简单的

效果图,加号增加,减号减少

直接上代码, 用来bootstrap的组件

div部分

<div class="container col-md-8" style="margin:100px">
<form id="mom" class="form-horizontal">
<div class="form-group">
<label class="col-sm-2 control-label">url</label>
<div class="col-sm-10">
<input id="url" type="text" class="form-control" name="url">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">url1</label>
<div class="col-sm-10">
<input id="url1" type="text" class="form-control" name="url1">
</div> </div> <div id="1" class="form-group">
<label class="col-sm-2 control-label"> 字段1 </label>
<div class="col-sm-10">
<input type="text" id="key0" value="">
<input type="text" id="val0" value="">
<input id="add" type="button" value="+">
<input id="pop" type="button" value="-">
</div>
</div> </form>
<button id="send_mm" class="btn btn-default" style="margin-left:150px">Button</button>
</div>

js 部分

<!-- 最新的 Bootstrap 核心 JavaScript 文件 -->
<script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
<script> var num = 0;
var data1 = {}; $("input[id='add']").click(add);
$("input[id='pop']").click(pop);
$("button[id='send_mm']").click(send_urll);
var momEle = document.getElementById("mom"); function add() {
num++;
console.log(num); var divEle = document.createElement("div");
divEle.setAttribute("class", "form-group");
divEle.setAttribute("id", `${num}`);
var inner = `<label class="col-sm-2 control-label"> 字段 ${num} </label> <div class="col-sm-10"> <input type="text" value="" id="key${num}"> <input type="text" value="" id="val${num}" </div>`;
divEle.innerHTML = inner;
alert(divEle.innerHTML); momEle.appendChild(divEle); } function pop() {
if (num != 0) {
var current_dom = document.getElementById(`${num}`); momEle.removeChild(current_dom); num--
} else {
alert('最少有一个字段')
} } function send_urll() { for (i = 0; i <= num; i++) {
var k = "key" + i;
var v = "val" + i;
var key = document.getElementById(`${k}`).value;
var val = document.getElementById(`${v}`).value;
// console.log(document.getElementById(`${k}`).value,document.getElementById(`${v}`).value); data1[key] = val }
console.log(data1); var url = document.getElementById('url').value;
var url1 = document.getElementById('url1').value; $.ajax({
url: "/get_url/",
type: "POST",
data: {"url": url, "url1": url1, "data1":JSON.stringify(data1)},
success: function (data) {
alert(JSON.parse(data));
data1 = {}
}
}) } </script>

就是简单的dom操作,添加时增加div标签,难点在于每个input要有自己的key,当时还遇到一个坑

就是拼接的时候要用(`),不能用(')("), 这是es6的新语法

附上大佬博客的链接

https://www.cnblogs.com/liwenzhou/p/9249932.html#autoid-2-2-1

h5 页面点击添加添加input框的更多相关文章

  1. 【HTML5】页面点击按钮添加一行 删除一行 全选 反选 全不选

    页面点击按钮添加一行    删除一行   全选   反选  全不选 页面效果图如下 html页面代码 <!DOCTYPE html> <html> <head> & ...

  2. js-禁止微信H5页面点击右上角菜单时出现“复制链接”,且分享仅支持微信分享

    禁止微信H5页面点击右上角菜单时出现“复制链接”,这个问题已经影响到我很久很久了,起码有2年了, 昨天写H5活动的时候,需求有一个是:可分享,但是禁止复制活动链接, 这一下,就逼我务必好好研究研究了. ...

  3. 移动端开发H5页面点击按钮后出现闪烁或黑色背景的解决办法

    H5页面在IOS端测试的时候发现,点击按钮会闪动,出现一个黑色的背景一闪而过,影响用户体验.最后通过度娘,找到解决方法: 就是给点击的元素添加一个CSS属性或者全局添加一个css. -webkit-t ...

  4. 解决H5页面点击一瞬间出现灰色背景的问题

    H5页面有时会出现点击一瞬间出现灰色背景的问题(ios会,安卓不会),解决方法: 加上样式: -webkit-tap-highlight-color: transparent; 如果以上方法不行,则是 ...

  5. scrollReveal.js导致页面加载完之后页面中点击事件添加的css参数失效了(我的Hexo next博客引发的问题)

    文章目录 时间 背景 问题解决 个人博客:https://mmmmmm.me 源码:https://github.com/dataiyangu/dataiyangu.github.io 时间 2019 ...

  6. 移动端h5页面的那些坑

    最近一直在写移动端页面,由于之前写移动端写的比较少,所以此次踩过许多坑.特此总结一下: 1.<input type='button'>背景色在ios中的兼容性,颜色发白 解决办法:在全局样 ...

  7. 吐血bug-- 多个input框接连blur事件导致alert接连弹出

    本来今天想记录一下Flow在vue源码中的应用,结果临时触发了个bug... bug描述: elementUi + Vue 技术 需求:一个表格中有至少两条数据,每条数据都有input框,在失去焦点后 ...

  8. H5页面怎么跳转到公众号主页?看过来

    前言: 做公众号开发的小伙伴,可能会遇到这种需求: 在一个H5页面点击一个关注公众号按钮跳转到公众号主页. 听到这个需求的一瞬间,疑惑了!这不可能! 摸了摸高亮的额头!没办法,做还是要做的 开始上解决 ...

  9. h5页面添加背景音乐

    [需求]h5页面添加背景音乐,支持微信.QQ.各种APP. [实现思路]1.通过audio标签,设置自动播放,是一种方法,但是此方法只适合微信.QQ,并不兼容我司的APP,需要主动触发下播放事件. 2 ...

随机推荐

  1. Gcc对头文件与库文件的搜索路径

    一.简介 对头文件与库文件的搜索路径不太清楚,编译.运行时老碰到问题,ldd查看程序的链接时,总是出现unkown链接. 二.头文件 gcc 在编译时寻找所需要的头文件 : 1)搜寻会从-I开始 2) ...

  2. 博客搬家到blog.wu8685.com

    博客园算是我最开始来的地方了吧,当时还在学校,为了找工作会看一些理论方面的东西,所以写的都是偏理论的心得. 后来参加了工作,开始忙起来,也就没有时间来更新了.其实忙都是借口,这点还是需要反思的. 大概 ...

  3. [Training Video - 3] [Java Introduction] [Object Oriented Programming]

    Static and non-Static :  非静态方法(不带static)可以访问静态变量和方法(带static),但是反过来就不行. 类的静态成员(变量和方法)属于类本身,在类加载的时候就会分 ...

  4. [Training Video - 1] [Selenium Basics] [What is Selenium IDE,RC,Webdriver, TestNG, Junit And Ant]

    Selenium IDE (Only support in Firefox): - Record and Run - UI interface - User extensions - Conversi ...

  5. [Training Video - 6] [File Reading] Making a Jar file with eclispe, Importing custom jars in SoapUI

    Code example : package com.file.properties; import java.io.FileInputStream; import java.util.Propert ...

  6. eclipse的thrift插件

    插件网址为:http://thrift4eclipse.sourceforge.net/en/install.html,经测试对Eclipse 4.4.2也有效: Eclipse 4.4.2上的安装步 ...

  7. Linux 基础教程 27-ss和ip命令

    什么是netstat     在Linux系统中输入 man netstat,显示的结果如下所示: netstat - Print network connections, routing table ...

  8. Codeforces766B Mahmoud and a Triangle 2017-02-21 13:47 113人阅读 评论(0) 收藏

    B. Mahmoud and a Triangle time limit per test 2 seconds memory limit per test 256 megabytes input st ...

  9. ARPG游戏打击感相关的技术简单总结

    说好的技术总结,根据近期的工作总结一下体现游戏打击感相关的技术.一般arpg的游戏打击感除了场景的氛围的烘托,策划的数值:连击,奖励伤害数字的连贯积累反馈,硬直加物理击飞ragdoll,更不可忽视的也 ...

  10. Oracle Key Flexfields Qualifiers

    Oracle Key Flexfields Qualifiers 1.     Application Developer è Flexfield è Key è Register Title: Ac ...