多个上传文件用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插件[鼠标悬浮时候 出现说明label]
Jun 27 Javascript
可兼容IE的获取及设置cookie的jquery.cookie函数方法
Sep 02 Javascript
JS中类或对象的定义说明
Mar 10 Javascript
JQuery EasyUI 数字格式化处理示例
May 05 Javascript
使用jQuery.wechat构建微信WEB应用
Oct 09 Javascript
Jquery修改页面标题title其它JS失效的解决方法
Oct 31 Javascript
又一枚精彩的弹幕效果jQuery实现
Jul 25 Javascript
js实现日历的简单算法
Jan 24 Javascript
node.js的Express服务器基本使用教程
Jan 09 Javascript
vue+element实现表单校验功能
May 20 Javascript
环形加载进度条封装(Vue插件版和原生js版)
Dec 04 Javascript
JavaScript手写数组的常用函数总结
Nov 22 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
2款PHP无限级分类实例代码
2015/11/11 PHP
完美解决php 导出excle的.csv格式的数据时乱码问题
2017/02/18 PHP
PHP+JQUERY操作JSON实例
2017/03/23 PHP
Laravel框架实现的记录SQL日志功能示例
2018/06/19 PHP
PHP 结合 Boostrap 结合 js 实现学生列表删除编辑及搜索功能
2019/05/21 PHP
JS 按钮点击触发(兼容IE、火狐)
2013/08/07 Javascript
非html5实现js版弹球游戏示例代码
2013/09/22 Javascript
浅析jQuery EasyUI中的tree使用指南
2014/12/18 Javascript
阿里云ecs服务器中安装部署node.js的步骤
2016/10/08 Javascript
jQuery实现可移动选项的左右下拉列表示例
2016/12/26 Javascript
jQuery插件FusionCharts绘制2D环饼图效果示例【附demo源码】
2017/04/10 jQuery
微信小程序中hidden不生效原因的解决办法
2017/04/26 Javascript
详解基于Vue2.0实现的移动端弹窗(Alert, Confirm, Toast)组件
2018/08/02 Javascript
Vue项目从webpack3.x升级webpack4不完全指南
2019/04/28 Javascript
如何获取vue单文件自身源码路径
2019/05/06 Javascript
iphone刘海屏页面适配方法
2019/05/07 Javascript
javaScript把其它类型转换为Number类型
2019/10/13 Javascript
重置Redux的状态数据的方法实现
2019/11/18 Javascript
Vue中keep-alive组件作用详解
2020/02/04 Javascript
Python爬取Coursera课程资源的详细过程
2014/11/04 Python
python将MongoDB里的ObjectId转换为时间戳的方法
2015/03/13 Python
尝试使用Python多线程抓取代理服务器IP地址的示例
2015/11/09 Python
Python中json格式数据的编码与解码方法详解
2016/07/01 Python
Python 使用SMTP发送邮件的代码小结
2016/09/21 Python
Python首次安装后运行报错(0xc000007b)的解决方法
2016/10/18 Python
Python3实现发送QQ邮件功能(html)
2017/12/15 Python
Python实现动态添加属性和方法操作示例
2018/07/25 Python
CSS3条纹背景制作的实战攻略
2016/05/31 HTML / CSS
PatPat阿根廷:妈妈们的购物平台
2019/05/30 全球购物
初级软件工程师面试题 Junior Software Engineer Interview
2015/02/15 面试题
资料员岗位职责
2013/11/17 职场文书
计算机专业应届生求职信
2014/04/06 职场文书
给校长的建议书200字
2014/05/16 职场文书
2014年高三班主任工作总结
2014/12/05 职场文书
工作感想范文
2015/08/07 职场文书
Python+Selenium实现抖音、快手、B站、小红书、微视、百度好看视频、西瓜视频、微信视频号、搜狐视频、一点号、大风号、趣头条等短视频自动发布
2022/04/13 Python