- 浏览: 516787 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (278)
- java (41)
- 设计模式 (4)
- sql (10)
- webservice (2)
- spring (9)
- struts (6)
- struts2 (32)
- hibernate (27)
- Struts_hibernate_Spring整合 (4)
- Velocity (1)
- Servlet (9)
- JSP (6)
- javascript (19)
- jquery (10)
- ajax (4)
- html、xml (3)
- JDBC (2)
- JDK (6)
- mysql (2)
- oracle (11)
- SqlServer (1)
- DB2 (4)
- tool (7)
- linux (5)
- UML (1)
- eclipse (8)
- 执行文件 (1)
- 应用服务器 (4)
- 代码重构 (1)
- 日本語 (19)
- 交规 (1)
- office (9)
- firefox (1)
- net (1)
- 测试 (1)
- temp (6)
- 对日外包 (1)
- windows (1)
- 版本控制 (1)
- android (2)
- 项目管理 (1)
最新评论
多文件上传时,首先要解决的一个问题就是动态去添加或删除文件选择框,原来以为没多么困难的,但是没想到IE居然不支持
table.appendChild()的js代码,导致整个前台JS的实现时间比原计划大大增加。不过还好可以借助网络查找需要的资源,最终成功实现兼
容IE和FF的文件选择框的动态添加及删除功能。
先来看一下在FF中展现出来的效果,IE中效果亦然;这里要上传的是xls格式的 excel文件,在文件选择之后对文件后缀名进行校验,并且最上面的文件选择框不能删除;
<head> <title>excel数据导入</title> </head> <script type="text/javascript"> var __FILE_INDEX = 0;//文件标识 var __LOADING_TIP_DIV=null; var __ICON_PATH="<%=request.getContextPath()%>/images/icons"; /** * 对选择的文件进行格式校验,只能选择xls格式的文件 */ function checkFile(fileObj){ var objSpan = document.getElementById("span_"+fileObj.id); if(!checkExcel(fileObj.value)){ objSpan.innerHTML="<img title='错误' src='"+__ICON_PATH+"/check_error.png' border='0'></img><font style='color:red;font-size:12px'>只能导入xls格式文件!</font>" fileObj.errFlag = true; } else { objSpan.innerHTML="<img title='正确' src='"+__ICON_PATH+"/check_right.png' border='0'></img>" fileObj.errFlag = false; } if(fileObj.value != "" && fileObj.noDelete!="true"){ document.getElementById("del_"+fileObj.id).innerHTML="<span title='删除文件' onclick='deleteFile(\""+fileObj.id+"\")' style='font-size:12px;color: #4684b2;cursor:pointer;border-bottom:1px solid #4684b2'>删除</span>"; } } /** * 删除选择的文件 */ function deleteFile(fileId){ var trNode = document.getElementById("tr_" + fileId); var trParent = trNode.parentNode; trParent.removeChild(trNode); } /** * excel校验函数 */ function checkExcel(filePath){ var subfix = filePath.substring(filePath.lastIndexOf(".")+1); if(subfix!="xls"){ return false; } return true; } /** * 文件上传时的校验逻辑 */ function excelUpload(){ var fileCount = 0; var files = document.getElementsByTagName("INPUT"); for(var i=0; i < files.length; i++){ if(files[i].type.toLowerCase!='file')continue; if(files[i].errFlag){ alert("导入的文件只能是xls格式,请重新选择."); files[i].focus(); return; } if(files[i].value!="") fileCount++; } if(fileCount < 1){ alert("请先选择要上传的数据文件!"); return; } document.getElementById("uploadExcelForm").submit(); } /** * 添加文件 */ function addFile(){ ++__FILE_INDEX; var fileId = "file"+__FILE_INDEX; var uploadTable = document.getElementById("tableUploadFile") var trElement = uploadTable.insertRow(-1); trElement.id="tr_"+fileId; var tdElement = trElement.insertCell(-1); tdElement.id="td_"+fileId; tdElement.innerHTML = "<input type='file' id='"+fileId+"' size='30' style='padding-left:5px;width:300px;cursor:pointer;' onchange='checkFile(this)'>" +"<span id='span_" + fileId + "'></span>" +"<span id='del_" + fileId + "'></span>"; } </script> <body> <form id="uploadExcelForm" name="uploadExcelForm" method="post" target="_parent" enctype="multipart/form-data" action="<%=request.getContextPath()%>/excelUpload.action"> <table width="100%" id="tableUploadFile" align="center" > <tr> <td>请选择要上传的Excel数据文件: <span title='添加文件' onclick='addFile()' style='font-size:12px;color: #6495ED;cursor:pointer;border-bottom:1px solid #6495ED'>添加文件</span></td> </tr> <tr id="tr_file0"> <td><INPUT class="text" id="file0" style="padding-left:5px;width:300px; cursor: pointer" type="file" name="file0" size="30" onchange="checkFile(this);" noDelete="true"><span id="span_file0"></span></td> </tr> </table> <div align="center" style="width: 100%"><input type="button" value=" 导入 " onclick="excelUpload();"></div> </form> </body> </html>
发表评论
文章已被作者锁定,不允许评论。
-
dwr 框架
2016-09-20 09:59 369首先,你安装DWR时会配置一个servlet,这个servl ... -
onchange, oninput, onpropertychange 的用法和区别
2016-01-29 17:33 1301onchange, oninput, onproper ... -
javascript eval(),JSON
2014-09-15 10:33 619eval函数的工作原理 eval函数会评 ... -
window.open , window.opener 的用法
2011-08-03 11:44 1958window.open() 支持环境: JavaScript1 ... -
.pac 脚本 语法
2011-04-15 15:52 6500PAC脚本的编写 adapt from int ... -
JavaScript 跨域 问题
2011-01-28 15:40 1225在客户端编程语言中,如javascript 和Actio ... -
javascript 技巧(一)
2010-12-15 15:07 1094一. open 居中 function newW ... -
javascript 模糊输入及多选 ,模糊查询,select等
2010-12-02 10:45 2282一个SELECT可以多选的,支持模糊查询的,支持分页的一 ... -
AJAXRPC 让 javascript 直接调用服务端方法
2010-10-12 12:17 1651AJAXPRC是快速、简单的J ... -
js 页面中 坐标,位置
2010-10-08 15:00 1515<html> <head> ... -
javascript trim() 写法
2010-08-04 13:07 1009javascript ,js 除去右边空格 , trim ... -
json定义,与解析
2010-07-19 12:21 1181JSON( JavaScript Object Notati ... -
javascript 面向对象
2010-07-09 12:22 611//javascript 面向对象 转自: http ... -
javascript 正则表达式
2010-07-07 17:53 657转 http://www.iteye.com/topic/4 ... -
javascript 图片 查看
2010-07-07 17:49 631转 http://www.iteye.com/t ... -
javascript 各种验证
2010-07-07 17:43 895//验证是否为空 function check_blank( ... -
showModalDialog IE 与 firefox
2010-07-05 10:07 20071.------------------------- ... -
window.setInterval 和window.setTimeout的区别
2010-06-13 13:00 925<!-- setTimeout(表达式,延时时间) ...
相关推荐
JavaScript多文件上传是一种常见的Web开发功能,允许用户一次性选择并上传多个文件到服务器。这个功能在现代网页应用中尤其重要,比如社交媒体平台、云存储服务和文件协作工具等。在这个场景下,JavaScript作为...
### JavaScript多文件上传无刷新技术解析 #### 一、引言 在Web开发中,文件上传是一项常见的功能需求。随着用户对用户体验要求的不断提高,传统的表单提交方式已无法满足现代应用的需求。本文将深入探讨一种利用...
在本项目中,"javascript+HTML5 多文件上传(插件)多进度条显示"是一个实现这一功能的实例,它允许用户选择并上传多个文件,并在上传过程中实时显示每个文件及整体的上传进度。下面将详细介绍这个技术实现的关键...
在JavaScript文件上传领域,zyUpload 的实现原理主要包括HTML5的File API、FormData对象以及Ajax异步请求。File API允许开发者在浏览器端直接访问和操作用户选择的文件,而FormData对象则用于封装这些文件,以便通过...
JavaScript多附件上传是一种常见的Web开发功能,用于在网页上实现用户选择并上传多个文件。这一技术主要基于HTML5中的File API,它允许开发者在浏览器端处理文件,包括读取、写入和上传。本文将详细讲解JavaScript...
标题中的“开源的多文件上传采用JavaScript插件”指的是使用JavaScript技术实现的一种允许用户上传多个文件的开源解决方案。这种插件通常会利用浏览器的Flash插件或其他类似技术,如HTML5的File API,来实现文件选择...
"多文件上传封装好的javascript文件类" 提供了解决这个问题的一种方法。这个JS类是专门为实现批量文件上传而设计的,简化了前端与服务器之间的交互流程。在深入探讨这个类之前,我们需要先理解一些基本概念。 **...
使用JavaScript实现文件上传到本地服务器并获取到上传后文件所在路径,是由到JavaScript,java以及html页面。这个比较好,不是在jsp上获取路径,jsp太简单了,而且过时了,所以就在html页面实现了下功能,我主要是做...
以上就是关于“用JavaScript做的一个多文件上传”这一项目的关键知识点。尽管开发者自谦地称其“有点垃圾”,但实现这样的功能已经涉及到Web开发的重要技术,并且对于初学者来说,这是一个很好的实践项目,能够深入...
在Java开发中,多文件上传是一项常见的功能,尤其在Web应用中,用户可能需要一次性上传多个文件,如图片、文档等。本知识点将详细介绍如何在Java中实现这一功能,以及结合Flash实现上传界面并显示上传进度条。 1. *...
在JavaScript中实现多文件上传是一项常见的前端开发任务,尤其在现代网页应用中,用户往往需要一次性上传多个图片、文档或其他类型的文件。这个标题为“JavaScript上传多个文件”的资源,显然提供了一个简洁而实用的...
本示例是关于如何使用JavaScript实现一个防网易的多文件上传功能,这涉及到前端技术、浏览器兼容性、文件处理策略等多个知识点。 首先,"防网易"通常指的是防止用户绕过限制,如防止批量上传、防止上传大文件等。在...
对于初学者来说,理解并实现多文件上传是一项重要的技能,它可以帮助你构建交互性强、功能完善的Web应用程序。在这个"C# .NET FileUpload 多文件上传例子"中,我们将探讨两种主要的方法,帮助你理解和掌握这一关键...
在提供的压缩包`uploaddemo`中,可能包含了上述原理的一个实际演示,你可以解压后查看源代码,进一步学习和理解ASP JavaScript文件上传的实现。这个例子将帮助你更好地理解客户端和服务器端如何协同工作,完成文件...
为了提升用户体验,可以添加文件上传进度条,利用JavaScript监听上传进度并更新界面。这需要前端和后端的配合,通常通过Ajax异步请求实现。 通过上述步骤,我们可以构建一个完整的SpringMVC文件上传系统,不仅支持...
前端Javascript+Html5+后端PHP分块上传文件,PHP分块上传大文件,该项目可以正常运行,入口为index.html,需要正确配置fileDir的读写权限 目前有测试过上传1.5G左右的没有问题(未测试更大的文件),理论上更大的...
本篇将详细介绍Vue.js中实现多文件上传的相关知识点,以及如何使用`vue-upload-component`这个开源组件来帮助我们实现这一功能。 首先,文件上传组件通常需要处理以下几个关键点: 1. **多文件选择**:用户可能...
SWFUpload是一个功能强大的JavaScript文件上传控件,它提供了许多传统HTML上传方式所不具有的特性。主要优势包括: 1. 可以同时选择多个文件进行上传。 2. 上传过程中无需刷新页面。 3. 显示上传进度条,使用户可以...
在现代Web应用中,用户可能需要一次性上传多个文件,例如图片、文档或视频。这个过程如果能实时显示每个文件的上传进度,将极大地提升用户体验。本文将深入探讨如何实现"多文件上传,并显示每一个的进度"这一功能,...