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 相关文章推荐
jQuery实现为LI列表前3行设置样式的方法【2种方法】
Sep 04 Javascript
js转html实体的方法
Sep 27 Javascript
jquery-mobile基础属性与用法详解
Nov 23 Javascript
详解node中创建服务进程
May 09 Javascript
Node.js自定义实现文件路由功能
Sep 22 Javascript
小程序实现带年月选取效果的日历
Jun 27 Javascript
详解angular2如何手动点击特定元素上的点击事件
Oct 16 Javascript
教你如何编写Vue.js的单元测试的方法
Oct 17 Javascript
微信小程序实现页面浮动导航
Jan 28 Javascript
小程序实现新用户判断并跳转激活的方法
May 20 Javascript
vue实现图片上传功能
May 28 Javascript
javascript中导出与导入实现模块化管理教程
Dec 03 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
PHP5.2中date()函数显示时间与北京时间相差8小时的解决办法
2009/05/28 PHP
destoon实现调用自增数字从1开始的方法
2014/08/21 PHP
详解php比较操作符的安全问题
2015/12/03 PHP
PHP PDOStatement::debugDumpParams讲解
2019/01/30 PHP
刷新页面实现方式总结(HTML,ASP,JS)
2008/11/13 Javascript
动态创建的表格单元格中的事件实现代码
2008/12/30 Javascript
EXTJS内使用ACTIVEX控件引起崩溃问题的解决方法
2010/03/31 Javascript
JavaScript 浏览器验证代码(来自discuz)
2010/07/17 Javascript
基于jQuery实现表格数据的动态添加与统计的代码
2011/01/31 Javascript
js面向对象 多种创建对象方法小结
2012/05/21 Javascript
jquery的$getjson调用并获取远程的JSON字符串问题
2012/12/10 Javascript
纯JS实现旋转图片3D展示效果
2015/04/12 Javascript
javascript实现图片延迟加载方法汇总(三种方法)
2015/08/27 Javascript
JavaScript实现的简单烟花特效代码
2015/10/20 Javascript
jQuery实现自动调用和触发某个事件的方法
2016/11/18 Javascript
JS中检测数据类型的几种方式及优缺点小结
2016/12/12 Javascript
jquery mobile实现可折叠的导航按钮
2017/03/11 Javascript
基于Koa2写个脚手架模拟接口服务的方法
2018/11/27 Javascript
ES6基础之解构赋值(destructuring assignment)
2019/02/21 Javascript
vue cli3适配所有端方案的实现
2020/04/13 Javascript
[02:02]2018DOTA2亚洲邀请赛Mineski赛前采访
2018/04/04 DOTA
[03:12]完美世界DOTA2联赛PWL DAY6集锦
2020/11/05 DOTA
从Python的源码浅要剖析Python的内存管理
2015/04/16 Python
Python3.x中自定义比较函数
2015/04/24 Python
Python实现给文件添加内容及得到文件信息的方法
2015/05/28 Python
Python 多线程的实例详解
2017/09/07 Python
matplotlib savefig 保存图片大小的实例
2018/05/24 Python
从运行效率与开发效率比较Python和C++
2018/12/14 Python
Tornado实现多进程/多线程的HTTP服务详解
2019/07/25 Python
python list的index()和find()的实现
2020/11/16 Python
CSS3简单实现照片墙
2014/12/12 HTML / CSS
使用HTML5和CSS3制作一个模态框的示例
2018/03/07 HTML / CSS
Haggar官网:美国男装品牌
2020/02/16 全球购物
文职个人求职信范文
2013/09/23 职场文书
奥巴马竞选演讲稿
2014/05/15 职场文书
2014年招生工作总结
2014/11/26 职场文书