多个上传文件用js验证文件的格式和大小的方法(推荐)


Posted in Javascript onMarch 09, 2017

html部分:

<dsp:form action="${originatingRequest.requestURI}" method="post" enctype="multipart/form-data">
  <dsp:input type="file" bean="ReturngoodsFormHandler.uploadedFile1" id="uploadedFile1" value="" onchange="checkfile('uploadedFile1');"/>
  <dsp:input type="file" bean="ReturngoodsFormHandler.uploadedFile2" id="uploadedFile2" value="" onchange="checkfile('uploadedFile2');"/>
  <a class="btn_sprite btn_font14_red" href="javascript:;" rel="external nofollow" ><span>提交申请</span></a>

   <dsp:input type="submit" style="display:none;" bean="ReturngoodsFormHandler.submitReturngoods" id="submitReturngoods" value="Add"/>

   </dsp:form>

需要注意:上传文件要有一个id,然后onchage事件里加一个id的名称;

js部分:

//将验证的设置和错误信息抽离出来,有利于最后submit时候做判断

var flag=true;
 var errorinfo="";

//验证文件的格式
 function checkfile(filenames){
  filename=document.getElementByIdx_x_x(filenames).value;

  var re=/(.[.]bmp)$|(.[.]gif)$|(.[.]jpg)$|(.[.]png)$|(.[.]jpeg)$/i;
  if (!re.test(filename)) {
  errorinfo = "只支持bmp,gif,jpg,png,jpeg格式文件,请重新上传";
  alert(errorinfo);
  flag = false;
  return false;
   }

//验证文件的大小
   if(document.getElementByIdx_x_x(filenames).size>8000){
   errorinfo = "文件必须小于800KB,图片太大 size:"+document.getElementByIdx_x_x_x_x_x(filenames).size;
   alert(errorinfo);
   return false;
   }
 }

 jQuery('.btn_font14_red').click(function(){
 if(flag==true){
  $("#submitReturngoods").click();
 }else{
  alert(errorinfo);
  return false;
 } 

 });

注意:这么做的好处是:第一:上传文件的时候,如果有错误,第一时间通知用户,用户去修改;

第二:如果用户最后填完了,虽然之前有提示语句,但是用户忘了是什么,点击提交的时候,仍然可以提示用户问题的原因。同时将错误信息和设置值放在最外面,而不用再次验证,可以节省页面效率。

(document.getElementByIdx_x_x(filenames) 不知道为啥发表的时候,总是多个_x,去又去不掉,大家在copy的时候记得去掉哈)

以上这篇多个上传文件用js验证文件的格式和大小的方法(推荐)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jquery 插件开发 extjs中的extend用法小结
Jan 04 Javascript
node.js中的fs.fsync方法使用说明
Dec 15 Javascript
利用JS判断字符串是否含有数字与特殊字符的方法小结
Nov 25 Javascript
JavaScript实现反转字符串的方法详解
Apr 27 Javascript
JS实现定时任务每隔N秒请求后台setInterval定时和ajax请求问题
Oct 15 Javascript
前端必备插件之纯原生JS的瀑布流插件Macy.js
Nov 22 Javascript
layui(1.0.9)文件上传upload,前后端的实例代码
Sep 26 Javascript
浅谈v-for 和 v-if 并用时筛选条件方法
Nov 07 Javascript
在Vue中使用this.$store或者是$route一直报错的解决
Nov 08 Javascript
node.js中事件触发器events的使用方法实例分析
Nov 23 Javascript
vue element自定义表单验证请求后端接口验证
Dec 11 Javascript
js 解析 JSON 数据简单示例
Apr 21 Javascript
jQuery实现字符串全部替换的方法【推荐】
Mar 09 #Javascript
js获取json中key所对应的value值的简单方法
Jun 17 #Javascript
ng2学习笔记之bootstrap中的component使用教程
Mar 09 #Javascript
Angular.js中处理页面闪烁的方法详解
Mar 09 #Javascript
jQuery插件HighCharts实现的2D对数饼图效果示例【附demo源码下载】
Mar 09 #Javascript
JS实现课堂随机点名和顺序点名
Mar 09 #Javascript
JavaScript实现两个select下拉框选项左移右移
Mar 09 #Javascript
You might like
用php来检测proxy
2006/10/09 PHP
php中检查文件或目录是否存在的代码小结
2012/10/22 PHP
php生成QRcode实例
2014/09/22 PHP
PHP基于curl模拟post提交json数据示例
2018/06/22 PHP
setTimeout 不断吐食CPU的问题分析
2009/04/01 Javascript
基于jQuery的简单的列表导航菜单
2011/03/02 Javascript
setTimeout和setInterval的区别你真的了解吗?
2011/03/31 Javascript
js简单实现标签云效果实例
2015/08/06 Javascript
举例讲解JavaScript substring()的使用方法
2015/11/09 Javascript
jQuery 1.9.1源码分析系列(十)事件系统之主动触发事件和模拟冒泡处理
2015/11/24 Javascript
window.close(); 关闭浏览器窗口js代码的总结介绍
2016/07/14 Javascript
浅析Angular 实现一个repeat指令的方法
2019/07/21 Javascript
关于ligerui子页面关闭后,父页面刷新,重新加载的方法
2019/09/27 Javascript
基于JavaScript实现贪吃蛇游戏
2020/03/16 Javascript
[03:11]2014DOTA2国际邀请赛-VG掉入败者组 独家专访357
2014/07/19 DOTA
基于Python os模块常用命令介绍
2017/11/03 Python
Python pandas常用函数详解
2018/02/07 Python
Django重装mysql后启动报错:No module named ‘MySQLdb’的解决方法
2018/04/22 Python
如何在django里上传csv文件并进行入库处理的方法
2019/01/02 Python
基于Django的乐观锁与悲观锁解决订单并发问题详解
2019/07/31 Python
Pycharm及python安装详细步骤及PyCharm配置整理(推荐)
2020/07/31 Python
celery在python爬虫中定时操作实例讲解
2020/11/27 Python
使用CSS3的rem属性制作响应式页面布局的要点解析
2016/05/24 HTML / CSS
CSS去掉A标签(链接)虚线框的方法
2014/04/01 HTML / CSS
使用html5 canvas创建太空游戏的示例
2014/05/08 HTML / CSS
儿科护理实习自我鉴定
2013/09/19 职场文书
临床医学系毕业生推荐信
2013/11/09 职场文书
一年级家长会邀请函
2014/01/25 职场文书
淘宝店铺营销方案
2014/02/13 职场文书
学生自我评语大全
2014/04/18 职场文书
建筑安全生产目标责任书
2014/07/23 职场文书
2014年党员学习“三严三实”思想汇报
2014/09/15 职场文书
教师批评与自我批评范文
2014/10/15 职场文书
惊涛骇浪观后感
2015/06/05 职场文书
python实现语音常用度量方法的代码详解
2021/05/25 Python
Java 超详细讲解十大排序算法面试无忧
2022/04/08 Java/Android