js实现动态添加上传文件页面


Posted in Javascript onOctober 22, 2018

发邮件是需要添加一些文件,每添加一个文件,页面上可以显示一个表单文件上传选项。

js实现动态添加上传文件页面

此功能为:初始时刻只有一个添加按钮,当点击添加文件时,会增加一个选择文件和删除区域,同时显示上传按钮,当点击删除,此行选择文件行消失,当所有选择文件项都消失时,上传按钮将被隐藏起来。下面是实例代码:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
 <head>
 
 <title>动态添加文件上传列表</title>
 <script type="text/javascript">
  var num=0;
  function addFile(event){
  //创建一个div标签,用以包含一个input标签和删除按钮
  var innerdiv = document.createElement("div");
  
  //创建一个input标签
  var inputNode = document.createElement("input");
  inputNode.name = "fileName";
  inputNode.type="file";
  
  //创建一个删除按钮
  var delNode = document.createElement("input");
  delNode.name = "del";
  delNode.type = "button";
  delNode.value="删除";
  
  var submit = document.getElementById("submit");
  
  //删除当前删除按钮所在的标签,为此按钮点击事件创建一个处理函数
  delNode.onclick = function d(){
  this.parentNode.parentNode.removeChild(this.parentNode); //删除此div区域
  var fileNodes = document.getElementsByName("fileName");
  //当没有上传文件时,隐藏submit按钮
  if(fileNodes.length==0){
  submit.style.display="none";
  }
  };
  
  innerdiv.appendChild(inputNode);
  innerdiv.appendChild(delNode);
  
  var div = document.getElementById("file");
  div.appendChild(innerdiv);
  
  submit.style.display="block";
  
  }
 </script>
 
 </head>
 
 <body>
 <form id="upload" action="${pageContext.request.contextPath }/servlet/FileUploadServlet" enctype="multipart/form-data" method="post">
  上传文件:<input type="button" value="添加文件" onclick="addFile(this.parentNode)"/> <br />
  <table>
  <div id="file">
  
  </div>
  </table>
  <input id="submit" type="submit" value="上传" style="display: none"/>
 </form>
 </body>
</html>

此实例代码中,addFile将动态增加一个div区域,div区域包含一个file input标签和删除按钮。

动态创建一个input标签示例:

//创建一个div标签,用以包含一个input标签和删除按钮
 var innerdiv = document.createElement("div");
  
//创建一个input标签
 var inputNode = document.createElement("input");
 inputNode.name = "fileName";
 inputNode.type="file";
 innerdiv.appendChild(inputNode);

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
编写兼容IE和FireFox的脚本
May 18 Javascript
Js 代码中,ajax请求地址后加随机数防止浏览器缓存的原因
May 07 Javascript
如何设置iframe高度自适应在跨域情况下的可用方法
Sep 06 Javascript
jquery实现按Enter键触发事件示例
Sep 10 Javascript
jQuery中delegate()方法用法实例
Jan 19 Javascript
Node.js中JavaScript操作MySQL的常用方法整理
Mar 01 Javascript
基于Bootstrap3表格插件和分页插件实例详解
May 17 Javascript
Javascript使用SWFUpload进行多文件上传
Nov 16 Javascript
vue mintui-Loadmore结合实现下拉刷新和上拉加载示例
Oct 12 Javascript
three.js实现3D视野缩放效果
Nov 16 Javascript
javascript、php关键字搜索函数的使用方法
May 29 Javascript
Javascript 类型转换、封闭函数及常见内置对象操作示例
Nov 15 Javascript
Javascript 实现 Excel 导入生成图表功能
Oct 22 #Javascript
js实现动态增加文件域表单功能
Oct 22 #Javascript
深入浅析Node.js 事件循环、定时器和process.nextTick()
Oct 22 #Javascript
js实现input密码框显示/隐藏功能
Sep 10 #Javascript
Vue slot用法(小结)
Oct 22 #Javascript
TypeScript基础入门教程之三重斜线指令详解
Oct 22 #Javascript
vue项目中使用Hbuilder打包app 设置沉浸式状态栏的方法
Oct 22 #Javascript
You might like
删除无限级目录与文件代码共享
2006/07/12 PHP
一个程序下载的管理程序(四)
2006/10/09 PHP
用php制作简单分页(从数据库读取记录)的方法详解
2013/05/04 PHP
分享php分页的功能模块
2015/06/16 PHP
PHP实现简单实用的分页类代码
2016/04/08 PHP
php实现微信公众平台发红包功能
2018/06/14 PHP
Node.js中的模块机制学习笔记
2014/11/04 Javascript
javascript实现捕捉键盘上按下的键
2015/05/05 Javascript
JS+CSS实现大气清新的滑动菜单效果代码
2015/10/22 Javascript
使用Javascript判断浏览器终端设备(PC、IOS(iphone)、Android)
2017/01/04 Javascript
详解angularJs中自定义directive的数据交互
2017/01/13 Javascript
javascript 显示全局变量与隐式全局变量的区别
2017/02/09 Javascript
详解vue 配合vue-resource调用接口获取数据
2017/06/22 Javascript
浅谈 Vue 项目优化的方法
2017/12/16 Javascript
jQuery实现炫丽的3d旋转星空效果
2018/07/04 jQuery
react的滑动图片验证码组件的示例代码
2019/02/27 Javascript
jquery实现二级导航下拉菜单效果实例
2019/05/14 jQuery
Python字符串处理函数简明总结
2015/04/13 Python
简单讲解Python中的数字类型及基本的数学计算
2016/03/11 Python
详解MySQL数据类型int(M)中M的含义
2016/11/20 Python
彻底理解Python list切片原理
2017/10/27 Python
学习Python selenium自动化网页抓取器
2018/01/20 Python
Python连接Mssql基础教程之Python库pymssql
2018/09/16 Python
Python多线程原理与用法实例剖析
2019/01/22 Python
如何更换python默认编辑器的背景色
2020/08/10 Python
纯CSS3实现圆角效果(含IE兼容解决方法)
2014/05/07 HTML / CSS
在HTML5中如何使用CSS建立不可选的文字
2014/10/17 HTML / CSS
关于css中margin的值和垂直外边距重叠问题
2020/10/27 HTML / CSS
HTML5触摸事件演化tap事件介绍
2016/03/25 HTML / CSS
土耳其家居建材网站:Koçtaş
2016/11/22 全球购物
标准自荐信范文
2014/01/29 职场文书
财务担保书范文
2014/04/02 职场文书
行政求职信
2014/07/04 职场文书
不听老师话的万能检讨书
2014/10/04 职场文书
Mysql基础之常见函数
2021/04/22 MySQL
Spring依赖注入多种类型数据的示例代码
2022/03/31 Java/Android