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 相关文章推荐
Javascript拓展String方法小结
Jul 08 Javascript
JSON序列化与解析原生JS方法且IE6和chrome测试通过
Sep 05 Javascript
JQuery each打印JS对象的方法
Nov 13 Javascript
Javascript中3个需要注意的运算符
Apr 02 Javascript
js实现横向拖拽导航条功能
Feb 17 Javascript
强大的JavaScript响应式图表Chartist.js的使用
Sep 13 Javascript
angular.js4使用 RxJS 处理多个 Http 请求
Sep 23 Javascript
JS实现遍历不规则多维数组的方法
Mar 21 Javascript
vue项目打包后打开页面空白解决办法
Jun 29 Javascript
微信小程序 导入图标实现过程详解
Oct 11 Javascript
vue 实现图片懒加载功能
Dec 31 Vue.js
几款主流好用的富文本编辑器(所见即所得常用编辑器)介绍
Mar 17 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
彻底删除thinkphp3.1案例blog标签的方法
2014/12/05 PHP
php简单分页类实现方法
2015/02/26 PHP
PHP单例模式简单用法示例
2017/06/23 PHP
php5对象复制、clone、浅复制与深复制实例详解
2019/08/14 PHP
JQuery中$之选择器用法介绍
2011/04/05 Javascript
有关JavaScript的10个怪癖和秘密分享
2011/08/28 Javascript
使用jquery hover事件实现表格的隔行换色功能示例
2013/09/03 Javascript
调试代码导致IE出错的避免方法
2014/04/04 Javascript
JS动态增加删除UL节点LI及相关内容示例
2014/05/21 Javascript
jquery实现实时改变网页字体大小、字体背景色和颜色的方法
2015/08/05 Javascript
jquery实现简洁文件上传表单样式
2015/11/02 Javascript
Vue2.x中的父子组件相互通信的实现方法
2017/05/02 Javascript
vue 中的keep-alive实例代码
2018/07/20 Javascript
详解处理bootstrap4不支持远程静态框问题
2018/07/20 Javascript
深入浅析nuxt.js基于ssh的vue通用框架
2019/05/21 Javascript
JavaScript函数IIFE使用详解
2019/10/21 Javascript
微信小程序实现同时上传多张图片
2020/02/03 Javascript
解决vue下载后台传过来的乱码流的问题
2020/12/05 Vue.js
python 不关闭控制台的实现方法
2011/10/23 Python
梯度下降法介绍及利用Python实现的方法示例
2017/07/12 Python
Python生成任意范围任意精度的随机数方法
2018/04/09 Python
详解CSS中iconfont的使用
2015/08/04 HTML / CSS
Etam俄罗斯:法国女士内衣和家居服网上商店
2019/10/30 全球购物
万年牢教学反思
2014/02/15 职场文书
简单的大学生自我鉴定
2014/02/18 职场文书
新闻专业毕业生英文求职信
2014/03/19 职场文书
简单的离婚协议书范本
2014/11/16 职场文书
2014年实习期工作总结
2014/11/27 职场文书
新郎结婚保证书
2015/02/26 职场文书
高温慰问简报
2015/07/21 职场文书
朋友聚会祝酒词
2015/08/10 职场文书
党员理论学习心得体会
2016/01/21 职场文书
写作技巧:如何撰写商业计划书
2019/08/08 职场文书
导游词之黄果树瀑布
2019/09/20 职场文书
教你部署vue项目到docker
2022/04/05 Vue.js
Java Spring Lifecycle的使用
2022/05/06 Java/Android