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基础知识filter()和find()实例说明
Jul 06 Javascript
jquery zTree异步加载简单实例分享
Feb 05 Javascript
jQuery插件windowScroll实现单屏滚动特效
Jul 14 Javascript
JSP防止网页刷新重复提交数据的几种方法
Nov 19 Javascript
JS设置时间无效问题的解决办法
Feb 18 Javascript
js实现楼层导航功能
Feb 23 Javascript
Node.js利用debug模块打印出调试日志的方法
Apr 25 Javascript
详解Vue 普通对象数据更新与 file 对象数据更新
Apr 26 Javascript
JavaScript实现二叉树的先序、中序及后序遍历方法详解
Oct 26 Javascript
vue自定义filters过滤器
Apr 26 Javascript
p5.js绘制旋转的正方形
Oct 23 Javascript
js实现计算器功能
Aug 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通过COM使用ADODB的简单例子
2006/12/31 PHP
PHP判断搜索引擎蜘蛛并自动记忆到文件的代码
2012/02/04 PHP
CI映射(加载)数据到view层的方法
2016/03/28 PHP
[原创]php集成安装包wampserver修改密码后phpmyadmin无法登陆的解决方法
2016/11/23 PHP
PHP面向对象之领域模型+数据映射器实例(分析)
2017/06/21 PHP
ThinkPHP框架整合微信支付之Native 扫码支付模式一图文详解
2019/04/09 PHP
jquery 实现滚动条下拉时无限加载的简单实例
2016/06/01 Javascript
关于AngularJs数据的本地存储详解
2017/01/20 Javascript
深入nodejs中流(stream)的理解
2017/03/27 NodeJs
Vue中props的使用详解
2018/06/15 Javascript
用npm-run实现自动化任务的方法示例
2019/01/14 Javascript
刷新页面后让控制台的js代码继续执行
2019/09/20 Javascript
JS数组方法concat()用法实例分析
2020/01/18 Javascript
在webstorm中配置less的方法详解
2020/09/25 Javascript
pycharm 使用心得(五)断点调试
2014/06/06 Python
理解python多线程(python多线程简明教程)
2014/06/09 Python
使用Python的Tornado框架实现一个Web端图书展示页面
2016/07/11 Python
判断网页编码的方法python版
2016/08/12 Python
python实现简单中文词频统计示例
2017/11/08 Python
mac安装scrapy并创建项目的实例讲解
2018/06/13 Python
对Python信号处理模块signal详解
2019/01/09 Python
python try 异常处理(史上最全)
2019/03/07 Python
django框架自定义模板标签(template tag)操作示例
2019/06/24 Python
Python-接口开发入门解析
2019/08/01 Python
python爬虫 基于requests模块发起ajax的get请求实现解析
2019/08/20 Python
Pytorch环境搭建与基本语法
2020/06/03 Python
Python使用shutil模块实现文件拷贝
2020/07/31 Python
html5视频播放_动力节点Java学院整理
2017/07/13 HTML / CSS
HTML5拖放功能_动力节点Java学院整理
2017/07/13 HTML / CSS
J2EE包括哪些技术
2016/11/25 面试题
二年级语文教学反思
2014/02/02 职场文书
党员个人整改措施
2014/10/24 职场文书
2014年行风建设工作总结
2014/12/01 职场文书
2015年重阳节活动主持词
2015/07/30 职场文书
react antd实现动态增减表单
2021/06/03 Javascript
Nginx 常用配置
2022/05/15 Servers