JavaScript实现动态添加Form表单元素的方法示例


Posted in Javascript onAugust 14, 2017

本文实例讲述了JavaScript实现动态添加Form表单元素的方法。分享给大家供大家参考,具体如下:

之前写过类似的文章(如:javascript实现的动态添加表单元素input,button等),现在看来比较初级,弄一个高级的简单的

情景: 后台要上传游戏截图,截图数量不确定,因此使用动态添加input节点的方法去实现这个效果

主要用到的函数有:

document.getElementById();

objNode.parentNode;

objNode.cloneNode();

objNode.removeAtrribute();

objNode.innerHTML();

objNode.appendChild();

html:

<div class="well well-sm">
  <div class="form-group">
    <label class="form-label">游戏截图:</label>
    <input type="file" name="jietu[]" class="form-input">
    <span class="form-tip" onclick="add_jietu()"><font color="#428bca">点击添加游戏截图</font></span>
  </div>
  <div class="form-group" id="add_jietu">
    <label class="form-label">游戏截图:</label>
    <input type="file" name="jietu[]" class="form-input">
  </div>
</div>

javascript:

<script type="text/javascript">
function add_jietu()
{
  var add_jietu = document.getElementById('add_jietu');
  var nodeFather = add_jietu.parentNode;
  var node_clone = add_jietu.cloneNode();
  content = add_jietu.innerHTML;
  node_clone.removeAttribute('id');
  node_clone.innerHTML = content;
  nodeFather.appendChild(node_clone);
}
</script>

注意:

1. js第6行使用的是"克隆节点"函数,克隆后的节点里边并没有html,需要第9行的代码去填充内容

2. 使用克隆功能,因为该方法生成的变量类型是"节点类型", 才可以用到appendChild()函数里做参数

3. 节点的 nextSibling 和 lastChild 属性得到的变量是 Text类型(在chrome的调试窗口中看到的)

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
javascript 尚未实现错误解决办法
Nov 27 Javascript
javascript十个最常用的自定义函数(中文版)
Sep 07 Javascript
Notify - 基于jquery的消息通知插件
Oct 18 Javascript
javascript面向对象包装类Class封装类库剖析
Jan 24 Javascript
[原创]推荐10款最热门jQuery UI框架
Aug 19 Javascript
JS使用eval解析JSON的注意事项分析
Nov 14 Javascript
JS获取CSS样式(style/getComputedStyle/currentStyle)
Jan 19 Javascript
正则表达式(语法篇推荐)
Jun 24 Javascript
浅析Javascript的自动分号插入(ASI)机制
Sep 29 Javascript
JS库particles.js创建超炫背景粒子插件(附源码下载)
Sep 13 Javascript
vue-router动态设置页面title的实例讲解
Aug 30 Javascript
微信小程序通过websocket实时语音识别的实现代码
Aug 19 Javascript
JavaScript实现的搜索及高亮显示功能示例
Aug 14 #Javascript
带你了解session和cookie作用原理区别和用法
Aug 14 #Javascript
react.js使用webpack搭配环境的入门教程
Aug 14 #Javascript
JS原生数据双向绑定实现代码
Aug 14 #Javascript
jQuery 中msgTips 顶部弹窗效果实现代码
Aug 14 #jQuery
关于在mongoose中填充外键的方法详解
Aug 14 #Javascript
JavaScript变量类型以及变量作用域详解
Aug 14 #Javascript
You might like
PHP URL地址获取函数代码(端口等) 推荐
2010/05/15 PHP
php全局变量和类配合使用深刻理解
2013/06/05 PHP
PHP管理依赖(dependency)关系工具 Composer的自动加载(autoload)
2014/08/18 PHP
使用PHP把HTML生成PDF文件的几个开源项目介绍
2014/11/17 PHP
解决tp5在nginx下修改配置访问的问题
2019/10/16 PHP
js下写一个事件队列操作函数
2010/07/19 Javascript
js ondocumentready onmouseover onclick onmouseout 样式
2010/07/22 Javascript
判断javascript的数据类型(示例代码)
2013/12/11 Javascript
js jquery分别实现动态的文件上传操作按钮的添加和删除
2014/01/13 Javascript
js清空表单数据的两种方式(遍历+reset)
2014/07/18 Javascript
JavaScript判断字符长度、数字、Email、电话等常用判断函数分享
2015/04/01 Javascript
js实现鼠标点击文本框自动选中内容的方法
2015/08/20 Javascript
javascript日期处理函数,性能优化批处理
2015/09/06 Javascript
Bootstrap导航栏各元素操作方法(表单、按钮、文本)
2015/12/28 Javascript
jQuery实现的自定义滚动条实例详解
2016/09/20 Javascript
jQuery如何解决IE输入框不能输入的问题
2016/10/08 Javascript
js实现小窗口拖拽效果
2016/12/03 Javascript
详解Angular 开发环境搭建
2017/06/22 Javascript
JavaScript闭包的简单应用
2017/09/01 Javascript
BootStrap Validator 根据条件在JS中添加或移除校验操作
2017/10/12 Javascript
微信小程序实现通过双向滑动缩放图片大小的方法
2018/12/30 Javascript
vue多页面项目中路由使用history模式的方法
2019/09/23 Javascript
jQuery轮播图功能制作方法详解
2019/12/03 jQuery
vue element ui validate 主动触发错误提示操作
2020/09/21 Javascript
[01:48:04]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Elephant BO3 第一场 2月7日
2021/03/11 DOTA
Python带参数的装饰器运行原理解析
2020/06/09 Python
Python的两道面试题
2013/06/29 面试题
日语翻译个人求职的自我评价
2013/10/14 职场文书
酒后驾车标语
2014/06/30 职场文书
个人授权委托书范本格式
2014/10/12 职场文书
专家推荐信范文
2015/03/26 职场文书
2015年酒店前台工作总结
2015/04/20 职场文书
离职证明范本
2015/06/12 职场文书
2016年党员读书月活动总结
2016/04/06 职场文书
《水浒传》读后感3篇(范文)
2019/09/19 职场文书
Python+Selenium实现读取网易邮箱验证码
2022/03/13 Python