多个上传文件用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 相关文章推荐
基于socket.io和node.js搭建即时通信系统
Jul 30 Javascript
jQuery超简单选项卡完整实例
Sep 26 Javascript
JavaScript中的this,call,apply使用及区别详解
Jan 29 Javascript
jQuery操作cookie
Aug 08 Javascript
jQuery使用getJSON方法获取json数据完整示例
Sep 13 Javascript
JS中split()用法(将字符串按指定符号分割成数组)
Oct 24 Javascript
BootStrap实现响应式布局导航栏折叠隐藏效果(在小屏幕、手机屏幕浏览时自动折叠隐藏)
Nov 30 Javascript
JavaScript深拷贝和浅拷贝概念与用法实例分析
Jun 07 Javascript
angularjs 的数据绑定实现原理
Jul 02 Javascript
详解如何webpack使用DllPlugin
Sep 30 Javascript
使用原生JS实现滚轮翻页效果的示例代码
May 31 Javascript
如何在vue-cli中使用css-loader实现css module
Jan 07 Vue.js
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面向对象分析设计的经验原则
2008/09/20 PHP
PHP操作文件类的函数代码(文件和文件夹创建,复制,移动和删除)
2011/11/10 PHP
浅谈php扩展imagick
2014/06/02 PHP
php中关于换行的实例写法
2019/09/26 PHP
laravel框架路由分组,中间件,命名空间,子域名,路由前缀实例分析
2020/02/18 PHP
初窥JQuery-Jquery简介 入门了解篇
2010/11/25 Javascript
js调用webservice中的方法实现思路及代码
2013/02/25 Javascript
JavaScript让Textarea支持tab按键的方法
2015/06/26 Javascript
jQuery Ajax页面局部加载方法汇总
2016/06/02 Javascript
jQuery Ajax 上传文件处理方式介绍(推荐)
2016/06/30 Javascript
AngularJS的ng Http Request与response格式转换方法
2016/11/07 Javascript
微信小程序开发(二)图片上传+服务端接收详解
2017/01/11 Javascript
基于Bootstrap的网页设计实例
2017/03/01 Javascript
vue按需引入element Transfer 穿梭框
2017/09/30 Javascript
React Native时间转换格式工具类分享
2017/10/24 Javascript
CentOS环境中MySQL修改root密码方法
2018/01/07 Javascript
js实现自动播放匀速轮播图
2020/02/06 Javascript
JS实现手风琴特效
2020/11/08 Javascript
[51:50]完美世界DOTA2联赛 Magma vs GXR 第一场 11.07
2020/11/10 DOTA
Python处理PDF及生成多层PDF实例代码
2017/04/24 Python
Django之无名分组和有名分组的实现
2019/04/16 Python
利用pyuic5将ui文件转换为py文件的方法
2019/06/19 Python
Pandas DataFrame中的tuple元素遍历的实现
2019/10/23 Python
Python自动采集微信联系人的实现示例
2020/02/28 Python
Python多线程:主线程等待所有子线程结束代码
2020/04/25 Python
python能做哪些生活有趣的事情
2020/09/09 Python
python利用 keyboard 库记录键盘事件
2020/10/16 Python
详解canvas绘制多张图的排列顺序问题
2019/01/21 HTML / CSS
皇家阿尔伯特瓷器美国官网:Royal Albert美国
2020/02/16 全球购物
娇韵诗俄罗斯官方网站:Clarins俄罗斯
2020/10/03 全球购物
合作经营协议书
2014/04/17 职场文书
感恩之星事迹材料
2014/05/03 职场文书
2019年朋友圈经典励志语录50条
2019/07/05 职场文书
Mysql数据库索引面试题(程序员基础技能)
2021/05/31 MySQL
swagger如何返回map字段注释
2021/07/03 Java/Android
Win11如何修改dns?Win11修改dns图文教程
2022/01/18 数码科技