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 相关文章推荐
js获取提交的字符串的字节数
Feb 09 Javascript
javascript实现仿腾讯游戏选择
May 14 Javascript
jquery简单实现外部链接用新窗口打开的方法
May 30 Javascript
jQuery实现的Div窗口震动效果实例
Aug 07 Javascript
layer子层给父层页面元素赋值,以达到向父层页面传值的效果实例
Sep 22 Javascript
详解JavaScript基础知识(JSON、Function对象、原型、引用类型)
Jan 16 Javascript
js input输入百分号保存数据库失败的解决方法
May 26 Javascript
vue中使用gojs/jointjs的示例代码
Aug 24 Javascript
解决vue.js this.$router.push无效的问题
Sep 03 Javascript
详解vue-cli3多页应用改造
Jun 04 Javascript
javascript严格模式详解(含严格模式与非严格模式的区别)
Nov 12 Javascript
Vue Router的手写实现方法实现
Mar 02 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
Laravel统计一段时间间隔的数据方法
2019/10/09 PHP
javascript操作cookie_获取与修改代码
2009/05/21 Javascript
javascript 另一种图片滚动切换效果思路
2012/04/20 Javascript
判断javascript的数据类型(示例代码)
2013/12/11 Javascript
使用jQuery快速解决input中placeholder值在ie中无法支持的问题
2014/01/02 Javascript
利用window.name实现windowStorage代码分享
2014/01/02 Javascript
nodejs npm install全局安装和本地安装的区别
2014/06/05 NodeJs
JavaScript中的apply和call函数详解
2014/07/20 Javascript
node.js中的path.resolve方法使用说明
2014/12/08 Javascript
JavaScript修改浏览器tab标题小技巧
2015/01/06 Javascript
Javascript代码实现仿实例化类
2015/04/03 Javascript
jQuery点击按钮弹出遮罩层且内容居中特效
2015/12/14 Javascript
浅谈jquery中的each方法$.each、this.each、$.fn.each
2016/06/23 Javascript
js控制div层的叠加简单方法
2016/10/15 Javascript
vue子组件使用自定义事件向父组件传递数据
2017/05/27 Javascript
jqueryUI tab标签页代码分享
2017/10/09 jQuery
浅谈JS函数节流防抖
2017/10/18 Javascript
vue实现登录后页面跳转到之前页面
2018/01/07 Javascript
iview日期控件,双向绑定日期格式的方法
2018/03/15 Javascript
Vue-drag-resize 拖拽缩放插件的使用(简单示例)
2019/12/04 Javascript
通过实例了解JS执行上下文运行原理
2020/06/17 Javascript
js实现弹幕墙效果
2020/12/10 Javascript
不知道这5种下划线的含义,你就不算真的会Python!
2018/10/09 Python
python 实现从高分辨图像上抠取图像块
2020/01/02 Python
python使用梯度下降和牛顿法寻找Rosenbrock函数最小值实例
2020/04/02 Python
python如何遍历指定路径下所有文件(按按照时间区间检索)
2020/09/14 Python
使用Html5 Stream开发实时监控系统
2020/06/02 HTML / CSS
Dr. Martens马汀博士法国官网:马丁靴鼻祖
2020/01/15 全球购物
法国购买二手电子产品网站:Asgoodasnew
2020/03/27 全球购物
咨询公司各岗位职责
2013/12/02 职场文书
2014年班组工作总结
2014/11/20 职场文书
中学生清明节演讲稿
2015/03/18 职场文书
2015年九一八事变纪念活动实施方案
2015/05/06 职场文书
走近毛泽东观后感
2015/06/04 职场文书
MySQL基于索引的压力测试的实现
2021/11/07 MySQL
MySQL数据库 安全管理
2022/05/06 MySQL