多个上传文件用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 相关文章推荐
一段多浏览器的&quot;复制到剪贴板&quot;javascript代码
Mar 27 Javascript
扩展jquery实现客户端表格的分页、排序功能代码
Mar 16 Javascript
JQuery获取文本框中字符长度的代码
Sep 29 Javascript
js身份证判断方法支持15位和18位
Mar 18 Javascript
HTML5使用DeviceOrientation实现摇一摇功能
Jun 05 Javascript
轻松学习Javascript闭包函数
Dec 15 Javascript
JavaScript实现解析INI文件内容的方法
Nov 17 Javascript
vue2.0 axios前后端数据处理实例代码
Jun 30 Javascript
vue组件中的数据传递方法
May 14 Javascript
跟混乱的页面弹窗说再见
Apr 11 Javascript
在vue中使用jsonp进行跨域请求接口操作
Oct 29 Javascript
vue 封装面包屑组件教程
Nov 16 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
POSIX 风格和兼容 Perl 风格两种正则表达式主要函数的类比(preg_match, preg_replace, ereg, ereg_replace)
2010/10/12 PHP
PHP用GD库生成高质量的缩略图片
2011/03/09 PHP
php4与php5的区别小结(配置异同)
2011/12/20 PHP
PHP程序员常见的40个陋习,你中了几个?
2014/11/20 PHP
jQuery LigerUI 插件介绍及使用之ligerDrag和ligerResizable示例代码打包
2011/04/06 Javascript
jQuery $.data()方法使用注意细节
2012/12/31 Javascript
实现局部遮罩与关闭原理及代码
2013/02/04 Javascript
jquery.post用法示例代码
2014/01/03 Javascript
jquery禁用右键单击功能屏蔽F5刷新
2014/03/17 Javascript
angularJS 中$attrs方法使用指南
2015/02/09 Javascript
WordPress中利用AJAX技术进行评论提交的实现示例
2016/01/12 Javascript
常用的JQuery函数及功能小结
2016/03/24 Javascript
js编写一个简单的产品放大效果代码
2016/06/27 Javascript
浅谈js中调用函数时加不加括号的问题
2016/07/28 Javascript
Angular 2 利用Router事件和Title实现动态页面标题的方法
2017/08/23 Javascript
使用RN Animated做一个“添加购物车”动画的方法
2018/09/12 Javascript
零基础之Node.js搭建API服务器的详解
2019/03/08 Javascript
JavaScript数组去重实现方法小结
2020/01/17 Javascript
python对list中的每个元素进行某种操作的方法
2018/06/29 Python
浅谈python之高阶函数和匿名函数
2019/03/21 Python
Python定时任务APScheduler的实例实例详解
2019/07/22 Python
浅析Windows 嵌入python解释器的过程
2019/07/26 Python
django项目简单调取百度翻译接口的方法
2019/08/06 Python
python使用 cx_Oracle 模块进行查询操作示例
2019/11/28 Python
Python预测2020高考分数和录取情况
2020/07/08 Python
Django实现文章详情页面跳转代码实例
2020/09/16 Python
Python通过字典映射函数实现switch
2020/11/06 Python
法国家具及室内配件店:home24
2017/01/21 全球购物
某IT外企面试题-二分法求方程!看看大家的C++功底
2015/07/04 面试题
北京麒麟网信息技术有限公司网络游戏测试面试题
2013/09/28 面试题
给同事的道歉信
2014/01/11 职场文书
财务会计大学生自我评价
2014/04/09 职场文书
幼儿园大班开学寄语
2014/08/02 职场文书
实习护士自荐信
2015/03/25 职场文书
SpringBoot集成Redis,并自定义对象序列化操作
2021/06/22 Java/Android
python自动化八大定位元素讲解
2021/07/09 Python