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 相关文章推荐
jQuery滚动条插件nanoscroller使用指南
Apr 21 Javascript
jQuery实现强制cookie过期方法汇总
May 22 Javascript
快速学习jQuery插件 Cookie插件使用方法
Dec 01 Javascript
JS判断浏览器是否安装flash插件的简单方法
Sep 13 Javascript
Bootstrap Table从服务器加载数据进行显示的实现方法
Sep 29 Javascript
详解从angular-cli:1.0.0-beta.28.3升级到@angular/cli:1.0.0
May 22 Javascript
以v-model与promise两种方式实现vue弹窗组件
May 21 Javascript
vue获取时间戳转换为日期格式代码实例
Apr 17 Javascript
javascript实现导航栏分页效果
Jun 27 Javascript
layui自定义插件citySelect实现省市区三级联动选择
Jul 26 Javascript
vue 解决异步数据更新问题
Oct 29 Javascript
小程序websocket心跳库(websocket-heartbeat-miniprogram)
Feb 23 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的Yii框架中自带的前端资源包的使用
2016/03/31 PHP
ThinkPHP模板标签eq if 中区分0,null,false的方法
2017/03/24 PHP
Kindeditor编辑器添加图片上传水印功能(php代码)
2017/08/03 PHP
PHP 实现手机端APP支付宝支付功能
2018/06/07 PHP
PHP中的输出echo、print、printf、sprintf、print_r和var_dump的示例代码
2020/12/01 PHP
jQuery easyui datagrid动态查询数据实例讲解
2013/02/26 Javascript
js实现的切换面板实例代码
2013/06/17 Javascript
JavaScript中的undefined学习总结
2013/11/30 Javascript
让浏览器DOM元素最后加载的js方法
2014/07/29 Javascript
JQuery动态添加和删除表格行的方法
2015/03/09 Javascript
AngularJS过滤器filter用法实例分析
2016/11/04 Javascript
AngularJS中的按需加载ocLazyLoad示例
2017/01/11 Javascript
react开发教程之React 组件之间的通信方式
2017/08/12 Javascript
利用jquery如何从json中读取数据追加到html中
2017/12/01 jQuery
jQuery实现下拉菜单动态添加数据点击滑出收起其他功能
2018/06/14 jQuery
JS 实现获取验证码 倒计时功能
2018/10/29 Javascript
Node.js + express实现上传大文件的方法分析【图片、文本文件】
2019/03/14 Javascript
Nginx设置为Node.js的前端服务器方法总结
2019/03/27 Javascript
小程序使用分包的示例代码
2020/03/23 Javascript
详解ES6 扩展运算符的使用与注意事项
2020/11/12 Javascript
python利用elaphe制作二维条形码实现代码
2012/05/25 Python
Django中处理出错页面的方法
2015/07/15 Python
Python每天必学之bytes字节
2016/01/28 Python
python中使用psutil查看内存占用的情况
2018/06/11 Python
python调用百度语音REST API
2018/08/30 Python
Python 获取主机ip与hostname的方法
2018/12/17 Python
python绘制漏斗图步骤详解
2019/03/04 Python
python查看文件大小和文件夹内容的方法
2019/07/08 Python
Python socket处理client连接过程解析
2020/03/18 Python
python实现数学模型(插值、拟合和微分方程)
2020/11/13 Python
html5使用window.postMessage进行跨域实现数据交互的一次实战
2021/02/24 HTML / CSS
美国鲜花递送:UrbanStems
2021/01/04 全球购物
市贸粮局召开党的群众路线教育实践活动总结大会新闻稿
2014/10/21 职场文书
铁路安全反思材料
2014/12/24 职场文书
对学校的意见和建议
2015/06/04 职场文书
2016年小学优秀班主任事迹材料
2016/02/29 职场文书