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 相关文章推荐
mysql输出数据赋给js变量报unterminated string literal错误原因
May 22 Javascript
基于jquery的模态div层弹出效果
Aug 21 Javascript
jQuery技巧总结
Jan 01 Javascript
深入理解JavaScript系列(11) 执行上下文(Execution Contexts)
Jan 15 Javascript
javascript动画对象支持加速、减速、缓入、缓出的实现代码
Sep 30 Javascript
JQuery的read函数与js的onload不同方式实现
Mar 18 Javascript
angularJS中router的使用指南
Feb 09 Javascript
微信小程序开发经验总结(推荐)
Jan 11 Javascript
AngularJS学习笔记之表单验证功能实例详解
Jul 06 Javascript
详解Vue Elememt-UI构建管理后台
Feb 27 Javascript
vue vue-Router默认hash模式修改为history需要做的修改详解
Sep 13 Javascript
使用Vue-cli3.0创建的项目 如何发布npm包
Oct 10 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
php录入页面中动态从数据库中提取数据的实现
2006/10/09 PHP
PHP统计当前在线用户数实例讲解
2015/10/21 PHP
完美解决Thinkphp3.2中插入相同数据的问题
2017/08/01 PHP
一些不错的js函数ajax
2008/08/20 Javascript
JavaScript使用技巧精萃[代码非常实用]
2008/11/21 Javascript
js 浮动层菜单收藏
2009/01/16 Javascript
Javascript动态引用CSS文件的2种方法介绍
2014/06/06 Javascript
PHP+jQuery实现随意拖动层并即时保存拖动位置
2015/04/30 Javascript
JS组件Bootstrap实现弹出框和提示框效果代码
2015/12/08 Javascript
Bootstrap 最常用的JS插件系列总结(图片轮播、标签切换等)
2016/07/14 Javascript
vue.js通过自定义指令实现数据拉取更新的实现方法
2016/10/18 Javascript
微信小程序 动态绑定事件并实现事件修改样式
2017/04/13 Javascript
jquery处理checkbox(复选框)是否被选中实例代码
2017/06/12 jQuery
基于Bootstrap的标签页组件及bootstrap-tab使用说明
2017/07/25 Javascript
Node.js系列之连接DB的方法(3)
2019/08/30 Javascript
Python单元测试框架unittest简明使用实例
2015/04/13 Python
Android模拟器无法启动,报错:Cannot set up guest memory ‘android_arm’ Invalid argument的解决方法
2016/07/01 Python
Python函数的周期性执行实现方法
2016/08/13 Python
Python实现爬取需要登录的网站完整示例
2017/08/19 Python
Python定时任务sched模块用法示例
2018/07/16 Python
python中的数据结构比较
2019/05/13 Python
python binascii 进制转换实例
2019/06/12 Python
win10系统Anaconda和Pycharm的Tensorflow2.0之CPU和GPU版本安装教程
2019/12/03 Python
python基于opencv检测程序运行效率
2019/12/28 Python
scrapy数据存储在mysql数据库的两种方式(同步和异步)
2020/02/18 Python
Python使用pyyaml模块处理yaml数据
2020/04/14 Python
python+selenium自动化实战携带cookies模拟登陆微博
2021/01/19 Python
canvas学习和滤镜实现代码
2018/08/22 HTML / CSS
Html5移动端适配IphoneX等机型的方法
2019/06/25 HTML / CSS
文员个人的求职信范文
2013/09/26 职场文书
日语系毕业求职信
2014/07/27 职场文书
员工趣味活动方案
2014/08/27 职场文书
2014国庆节商场促销活动策划方案
2014/09/16 职场文书
小学感恩节活动策划方案
2014/10/06 职场文书
学校证明范文
2015/06/24 职场文书
CSS 左边固定宽右边自适应的6种方法
2022/05/15 HTML / CSS