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 相关文章推荐
js中return false(阻止)的用法
Aug 14 Javascript
js阻止事件追加的具体实现
Oct 15 Javascript
js表头排序实现方法
Jan 16 Javascript
AngularJS页面访问时出现页面闪烁问题的解决
Mar 06 Javascript
郁闷!ionic中获取ng-model绑定的值为undefined如何解决
Aug 27 Javascript
原生Javascript插件开发实践
Jan 18 Javascript
Bootstrap进度条实现代码解析
Mar 07 Javascript
Bootstrap媒体对象学习使用
Mar 07 Javascript
JavaScript中使用Async实现异步控制
Aug 15 Javascript
vue 实现的树形菜的实例代码
Mar 19 Javascript
vue数据传递--我有特殊的实现技巧
Mar 20 Javascript
bootstrap自定义样式之bootstrap实现侧边导航栏功能
Sep 10 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+AJAX聊天程序[聊天室]提供下载
2007/07/21 PHP
php实现的mongoDB单例模式操作类
2018/01/20 PHP
JQuery UI的拖拽功能实现方法小结
2012/03/14 Javascript
jquery原创弹出层折叠效果点击折叠弹出一个层
2014/03/12 Javascript
jQuery实现表单提交时判断的方法
2014/12/13 Javascript
JavaScript列表框listbox全选和反选的实现方法
2015/03/18 Javascript
每天一篇javascript学习小结(Date对象)
2015/11/13 Javascript
JS面向对象(3)之Object类,静态属性,闭包,私有属性, call和apply的使用,继承的三种实现方法
2016/02/25 Javascript
详细总结Javascript中的焦点管理
2016/09/17 Javascript
js代码延迟一定时间后执行一个函数的实例
2017/02/15 Javascript
p5.js入门教程之键盘交互
2018/03/19 Javascript
详解基于vue-cli3.0如何构建功能完善的前端架子
2018/10/09 Javascript
layui表格 列自动适应大小失效的解决方法
2019/09/06 Javascript
js实现拾色器插件(ColorPicker)
2020/05/21 Javascript
vue组件暴露和.js文件暴露接口操作
2020/08/11 Javascript
[57:09]DOTA2-DPC中国联赛 正赛 Phoenix vs Dynasty BO3 第一场 1月26日
2021/03/11 DOTA
[01:11]steam端dota2实名认证操作流程视频
2021/03/11 DOTA
[01:33:30]DOTA2-DPC中国联赛 正赛 RNG vs Phoenix BO3 第二场 2月5日
2021/03/11 DOTA
Python中函数的多种格式和使用实例及小技巧
2015/04/13 Python
python3序列化与反序列化用法实例
2015/05/26 Python
python解析html提取数据,并生成word文档实例解析
2018/01/22 Python
详解python中的线程
2018/02/10 Python
使用pip发布Python程序的方法步骤
2018/10/11 Python
Python绘图实现台风路径可视化代码实例
2020/10/23 Python
联想新加坡官方网站:Lenovo Singapore
2017/10/24 全球购物
奇怪的鱼:Weird Fish
2018/03/18 全球购物
我们在web应用开发过程中经常遇到输出某种编码的字符,如iso8859-1等,如何输出一个某种编码的字符串?
2014/03/30 面试题
报关员个人职业生涯规划书
2014/03/12 职场文书
幼儿园小班家长寄语
2014/04/02 职场文书
中学生寄语大全
2014/04/03 职场文书
初三新学期计划书
2014/05/03 职场文书
企业标语口号
2014/06/10 职场文书
公司年终奖分配方案
2014/06/16 职场文书
2015年消防工作总结
2015/04/24 职场文书
2016年圣诞节寄语(一句话)
2015/12/07 职场文书
MySQL完整性约束的定义与实例教程
2021/05/30 MySQL