多个上传文件用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 相关文章推荐
网页javascript精华代码集
Jan 24 Javascript
使用按钮控制以何种方式打开新窗口的属性介绍
Dec 17 Javascript
javascript闭包的高级使用方法实例
Jul 04 Javascript
新增加的内容是如何将div的scrollbar自动移动最下面
Jan 02 Javascript
Js和JQuery获取鼠标指针坐标的实现代码分享
May 25 Javascript
JavaScript获取数组最小值和最大值的方法
Jun 09 Javascript
深入浅析JavaScript中数据共享和数据传递
Apr 25 Javascript
详解Jquery的事件操作和文档操作
Dec 19 Javascript
浅谈VUE监听窗口变化事件的问题
Feb 24 Javascript
vue.js+element-ui动态配置菜单的实例
Sep 07 Javascript
基于ant design日期控件使用_仅月份的操作
Oct 27 Javascript
原生js实现移动小球(碰撞检测)
Dec 17 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排序算法(冒泡排序,快速排序)
2012/10/09 PHP
php自定义hash函数实例
2015/05/05 PHP
php获取一定范围内取N个不重复的随机数
2016/05/28 PHP
jQuery右键菜单contextMenu使用实例
2011/09/28 Javascript
script标签属性type与language使用选择
2012/12/02 Javascript
在JavaScript中处理数组之reverse()方法的使用
2015/06/09 Javascript
JavaScript学习笔记之DOM基础 2.4
2015/08/14 Javascript
javascript中eval和with用法实例总结
2015/11/30 Javascript
thinkjs 文件上传功能实例代码
2017/11/08 Javascript
vue-router路由懒加载和权限控制详解
2017/12/13 Javascript
小程序实现订单倒计时功能
2019/04/23 Javascript
Node.js中文件系统fs模块的使用及常用接口
2020/03/06 Javascript
[03:00]2018完美盛典_最佳英雄奖
2018/12/17 DOTA
Python中函数的用法实例教程
2014/09/08 Python
Python中Django 后台自定义表单控件
2017/03/28 Python
django实现用户登陆功能详解
2017/12/11 Python
Python面向对象基础入门之设置对象属性
2018/12/11 Python
使用python批量化音乐文件格式转换的实例
2019/01/09 Python
python hough变换检测直线的实现方法
2019/07/12 Python
基于python解线性矩阵方程(numpy中的matrix类)
2019/10/21 Python
python实现在多维数组中挑选符合条件的全部元素
2019/11/26 Python
Python实现把多维数组展开成DataFrame
2019/11/30 Python
Python如何基于Tesseract实现识别文字功能
2020/06/05 Python
Python获取指定网段正在使用的IP
2020/12/14 Python
selenium3.0+python之环境搭建的方法步骤
2021/02/01 Python
美国最大的船只买卖在线市场:Boat Trader
2018/08/04 全球购物
输入一行文字,找出其中大写字母、小写字母、空格、数字、及其他字符各有多少
2016/04/15 面试题
说说在weblogic中开发消息Bean时的persistent与non-persisten的差别
2013/04/07 面试题
求职信写作要突出重点
2014/01/01 职场文书
教职工代表大会主持词
2014/04/01 职场文书
银行青年文明号事迹材料
2014/05/31 职场文书
爬山的活动方案
2014/08/16 职场文书
2014幼儿园教师师德师风演讲稿
2014/09/10 职场文书
小学生通知书评语
2014/12/31 职场文书
一篇文章带你了解Python和Java的正则表达式对比
2021/09/15 Python
Django框架模板用法详解
2022/06/10 Python