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活用事件触发对象动作
Aug 10 Javascript
passwordStrength 基于jquery的密码强度检测代码使用介绍
Oct 08 Javascript
网页源代码保护(禁止右键、复制、另存为、查看源文件)
May 23 Javascript
JQuery中dataGrid设置行的高度示例代码
Jan 03 Javascript
javascript实现任务栏消息提示的简单实例
May 31 Javascript
浅谈Angular中ngModel的$render
Oct 24 Javascript
vue2.0学习之axios的封装与vuex介绍
May 28 Javascript
简述vue状态管理模式之vuex
Aug 29 Javascript
解决前后端分离 vue+springboot 跨域 session+cookie失效问题
May 13 Javascript
微信小程序获取位置展示地图并标注信息的实例代码
Sep 01 Javascript
基于JavaScript实现轮播图效果
Jan 02 Javascript
jenkins自动构建发布vue项目的方法步骤
Jan 04 Vue.js
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实现文件编码批量转换
2014/03/10 PHP
php使用curl简单抓取远程url的方法
2015/03/13 PHP
教你识别简单的免查杀PHP后门
2015/09/13 PHP
PHP实现QQ、微信和支付宝三合一收款码实例代码
2018/02/19 PHP
thinkphp5.1 文件引入路径问题及注意事项
2018/06/13 PHP
php pdo连接数据库操作示例
2019/11/18 PHP
利用JQuery+EasyDrag 实现弹出可拖动的Div,同时向Div传值,然后返回Div选中的值
2009/10/24 Javascript
jquery中ajax学习笔记3
2011/10/16 Javascript
jquery 选择器引擎sizzle浅析
2013/02/06 Javascript
基于JavaScript将表单序列化类型的数据转化成对象的处理(允许对象中包含对象)
2015/12/28 Javascript
基于JS实现textarea中获取动态剩余字数的方法
2016/05/25 Javascript
微信小程序 教程之数据绑定
2016/10/18 Javascript
关于axios返回空对象的问题解决
2017/04/04 Javascript
详解node+express+ejs+bootstrap构建项目
2017/09/27 Javascript
vue2.0在table中实现全选和反选的示例代码
2017/11/04 Javascript
jQuery进阶实践之利用最优雅的方式如何写ajax请求
2017/12/20 jQuery
使用vue实现grid-layout功能实例代码
2018/01/05 Javascript
vue 解决循环引用组件报错的问题
2018/09/06 Javascript
Vue.js特性Scoped Slots的浅析
2019/02/20 Javascript
详解微信小程序框架wepy踩坑记录(与vue对比)
2019/03/12 Javascript
vxe-table vue table 表格组件功能
2019/05/26 Javascript
js实现轮播图效果 纯js实现图片自动切换
2020/08/09 Javascript
Vue实现小购物车功能
2020/12/21 Vue.js
浅谈python中的__init__、__new__和__call__方法
2017/07/18 Python
Pytorch入门之mnist分类实例
2018/04/14 Python
Python实现的堆排序算法示例
2018/04/29 Python
Django的用户模块与权限系统的示例代码
2019/07/24 Python
PyCharm2019安装教程及其使用(图文教程)
2019/09/29 Python
Python完全识别验证码自动登录实例详解
2019/11/24 Python
Python3实现打印任意宽度的菱形代码
2020/04/12 Python
HTML5 source标签:媒介元素定义媒介资源
2018/01/29 HTML / CSS
英国办公用品商店:Office Outlet
2018/04/04 全球购物
接收函
2019/04/22 职场文书
2019年汽车租赁合同范本!
2019/08/12 职场文书
MySQL索引失效的典型案例
2021/06/05 MySQL
90后经典动画片排行:《数码宝贝》第二,《小鲤鱼历险记》在榜
2022/03/18 日漫