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. Laravel 配置文件操作方法

    1)laravel 的所以配置文件都在根目录下的 config 目录里,直接看一个配置文件的名字就知道是做什么的了,这里不说了 2)读取配置的方法 $value = config('app.timez ...

  2. [SoapUI] EndPoint不需要在配置文件中设置不同环境的值,SoapUI自带此参数的设置

    在Environments里面设置就好了

  3. CI框架入门教程

    1. URL常用的相关函数 url相关函数在辅助类url中第一,要使用它们必须先加载$this->load->helper('url')或者自动装载    site_url('控制器/方法 ...

  4. HRBUST1200 装修 2017-03-06 15:41 94人阅读 评论(0) 收藏

    装修 hero为了能顺利娶princess ,花了血本,买了个房子,现在决定装修.房子的长度为n米,宽度为3米,现在我们有2种地砖,规格分别是1米×1米,2米×2米,如果要为该教室铺设地砖,请问有几种 ...

  5. SqlLocalDB 的一些常用命令行

    Once installed, you can interact with SqlLocalDb using the command line. The following will tell you ...

  6. day14(带参装饰器,迭代器,生成器,枚举对象)

    一,复习 ''' 函数的嵌套定义:在函数内部定义另一个函数 闭包:被嵌套的函数 -- 1.外层通过形参给内层函数传参 -- 2.验证执行 开放封闭原则: 功能可以拓展,但源代码与调用方式都不可以改变 ...

  7. sql2008 获取表结构说明

    SELECT     表名       = case when a.colorder=1 then d.name else '' end,    表说明     = case when a.color ...

  8. 自己从0开始学习Unity的笔记 III (C#随机数产生基础练习)

    自己开始尝试弄一下随机数,照着方法,自己做了个英雄打怪兽的测试 int heroAttack; ; ; Random attack = new Random(); //初始化一个随机数的类 heroA ...

  9. windows server 2008 站点系列--AD的站点建立与子网的管理(zhuanzai)

    本次课程将给大家介绍AD中站点和子网的功能.站点和子网之间的关联,以及相关的设置步骤. 应用背景介绍: contoso公司的总部在西安(Xian),陕南的汉中(Shannan)和陕北的榆林(Shanb ...

  10. Android Dialog 的一些特性

    1. Dialog 与 AlertDialog 的区别. AlertDialog 是一种特殊形式的 Dialog.这个类中,我们可以添加一个,两个或者三个按钮,可以设置标题.所以,当我们想使用 Ale ...