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的对话框详解与参数
Mar 08 Javascript
javascript 表单规则集合对象
Jul 21 Javascript
javascript setTimeout()传递函数参数(包括传递对象参数)
Apr 07 Javascript
JS实现的一个简单的Autocomplete自动完成例子
Apr 16 Javascript
js类定义函数时用prototype与不用的区别示例介绍
Jun 10 Javascript
json+jQuery实现的无限级树形菜单效果代码
Aug 27 Javascript
Boostrap入门准备之border box
May 09 Javascript
JavaScript制作弹出层效果
Dec 02 Javascript
JavaScript设计模式之装饰者模式定义与应用示例
Jul 25 Javascript
vue实现PC端录音功能的实例代码
Jun 05 Javascript
深入浅析ng-bootstrap 组件集中 tabset 组件的实现分析
Jul 19 Javascript
微信小程序自定义navigationBar顶部导航栏适配所有机型(附完整案例)
Apr 26 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判断类是否存在函数class_exists用法分析
2014/11/14 PHP
最准确的php截取字符串长度函数
2015/10/29 PHP
PHP基于反射机制实现插件的可插拔设计详解
2016/11/10 PHP
jquery实现居中弹出层代码
2010/08/25 Javascript
使用Json比用string返回数据更友好,也更面向对象一些
2011/09/13 Javascript
javascript 基础篇3 类,回调函数,内置对象,事件处理
2012/03/14 Javascript
事件冒泡是什么如何用jquery阻止事件冒泡
2013/03/20 Javascript
JavaScript打印iframe内容示例代码
2013/08/20 Javascript
对之前写的jquery分页做下升级
2014/06/19 Javascript
Jquery实现图片预加载与延时加载的方法
2014/12/22 Javascript
jQuery实现html表格动态添加新行的方法
2015/05/28 Javascript
CSS中position属性之fixed实现div居中
2015/12/14 Javascript
js倒计时简单实现代码
2016/08/11 Javascript
微信小程序 progress组件详解及实例代码
2016/10/25 Javascript
Vue.js创建Calendar日历效果
2016/11/03 Javascript
详解jQuery中的事件
2016/12/14 Javascript
vue项目中运用webpack动态配置打包多种环境域名的方法
2019/06/24 Javascript
JavaScript回调函数callback用法解析
2020/01/14 Javascript
JavaScript本地储存:localStorage、sessionStorage、cookie的使用
2020/10/13 Javascript
[07:01]DOTA2-DPC中国联赛正赛 Aster vs Magma 3月5日 赛后选手采访
2021/03/11 DOTA
在Python中使用mechanize模块模拟浏览器功能
2015/05/05 Python
Python实现K折交叉验证法的方法步骤
2019/07/11 Python
通过Python实现一个简单的html页面
2020/05/16 Python
了解一下python内建模块collections
2020/09/07 Python
Django自带用户认证系统使用方法解析
2020/11/12 Python
房地产员工找工作的自我评价
2013/11/15 职场文书
函授毕业自我鉴定
2013/12/19 职场文书
学生会副主席竞聘书
2014/03/31 职场文书
历史学专业求职信
2014/06/19 职场文书
水利水电建筑施工应届生求职信
2014/07/04 职场文书
杭州西湖英语导游词
2015/02/03 职场文书
社区宣传标语口号
2015/12/26 职场文书
vue中this.$http.post()跨域和请求参数丢失的解决
2022/04/08 Vue.js
CSS SandBox应用场景及常见问题
2022/06/25 HTML / CSS
Redis sentinel哨兵集群的实现步骤
2022/07/15 Redis
Sentry的安装、配置、使用教程(Sentry日志手机系统)
2022/07/23 Python