多个上传文件用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 addBookmark 加入收藏 多浏览器兼容
Aug 15 Javascript
JavaScript Cookie显示用户上次访问的时间和次数
Dec 08 Javascript
jquery仿京东导航/仿淘宝商城左侧分类导航下拉菜单效果
Apr 24 Javascript
JavaScript中的类(Class)详细介绍
Dec 30 Javascript
很棒的js选项卡切换效果
Jul 15 Javascript
javascript获取以及设置光标位置
Feb 16 Javascript
JS库之Three.js 简易入门教程(详解之一)
Sep 13 Javascript
js 判断一个数字是不是2的n次方幂的实例
Nov 26 Javascript
在vue里面设置全局变量或数据的方法
Mar 09 Javascript
vue使用keep-alive保持滚动条位置的实现方法
Apr 09 Javascript
解决vue-cli@3.xx安装不成功的问题及搭建ts-vue项目
Feb 09 Javascript
使用jquery实现轮播图效果
Jan 02 jQuery
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
基于mysql的bbs设计(二)
2006/10/09 PHP
PHP的反射类ReflectionClass、ReflectionMethod使用实例
2014/08/05 PHP
Yii2使用dropdownlist实现地区三级联动功能的方法
2016/07/18 PHP
json格式化/压缩工具 Chrome插件扩展版
2010/05/25 Javascript
扩展jquery实现客户端表格的分页、排序功能代码
2011/03/16 Javascript
自动最大化窗口的Javascript代码
2013/05/22 Javascript
Jquery Validate 正则表达式实用验证代码大全
2013/08/23 Javascript
枚举的实现求得1-1000所有出现1的数字并计算出现1的个数
2013/09/10 Javascript
JS上传图片前实现图片预览效果的方法
2015/03/02 Javascript
通过设置CSS中的position属性来固定层的位置
2015/12/14 Javascript
bootstrap-treeview自定义双击事件实现方法
2016/01/09 Javascript
js实现贪吃蛇小游戏(容易理解)
2017/01/22 Javascript
jQuery插件FusionCharts绘制的3D饼状图效果实例【附demo源码下载】
2017/03/03 Javascript
使用vue实现简单键盘的示例(支持移动端和pc端)
2017/12/25 Javascript
Vue组件中prop属性使用说明实例代码详解
2018/05/31 Javascript
React中获取数据的3种方法及优缺点
2020/02/18 Javascript
Vue(定时器)解决mounted不能获取到data中的数据问题
2020/07/30 Javascript
Nodejs实现微信分账的示例代码
2021/01/19 NodeJs
python的几种开发工具介绍
2007/03/07 Python
Python json模块使用实例
2015/04/11 Python
python实现中文输出的两种方法
2015/05/09 Python
python实现字符串加密成纯数字
2019/03/19 Python
django创建简单的页面响应实例教程
2019/09/06 Python
python 爬取马蜂窝景点翻页文字评论的实现
2020/01/20 Python
Python控制鼠标键盘代码实例
2020/12/08 Python
Alpine安装Python3依赖出现的问题及解决方法
2020/12/25 Python
HTML5地理定位_动力节点Java学院整理
2017/07/12 HTML / CSS
师范生的个人求职信范文
2014/01/04 职场文书
《商鞅南门立木》教学反思
2014/02/16 职场文书
《诚实与信任》教学反思
2014/04/10 职场文书
补充协议书范本
2014/04/23 职场文书
2015年节能降耗工作总结
2015/05/22 职场文书
车辆管理制度范本
2015/08/05 职场文书
Python爬取某拍短视频
2021/06/11 Python
Vue3.0写自定义指令的简单步骤记录
2021/06/27 Vue.js
nginx之内存池的实现
2022/06/28 Servers