`
西北小强
  • 浏览: 345293 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

多个上传文件用js验证文件的格式和大小(转载)

阅读更多

转载自龙哥博客原文链接:(http://blog.sina.com.cn/369768231qq)

 

多个上传文件用js验证文件的格式和大小

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:;"><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的时候记得去掉哈)

分享到:
评论

相关推荐

    2025最新全国水利安全生产知识竞赛题库(含答案).docx

    2025最新全国水利安全生产知识竞赛题库(含答案).docx

    【雷达】非相干多视处理(CSA)Matlab代码.rar

    1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。

    使用 MATLAB 的实时人脸识别考勤系统Matlab代码.rar

    1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。

    elasticsearch8.17.1 docker镜像资源

    因为文件过大所以使用bz2进行了2次压缩,请解压成tar包后在上传到服务器

    基于java+ssm+mysql的校园二手交易平台 源码+数据库+论文(高分毕设项目).zip

    项目已获导师指导并通过的高分毕业设计项目,可作为课程设计和期末大作业,下载即用无需修改,项目完整确保可以运行。 包含:项目源码、数据库脚本、软件工具等,该项目可以作为毕设、课程设计使用,前后端代码都在里面。 该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值。 项目都经过严格调试,确保可以运行!可以放心下载 技术组成 语言:java 开发环境:idea 数据库:MySql8.0 部署环境:Tomcat(建议用 7.x 或者 8.x 版本),maven 数据库工具:navicat

    iostat打印解析画图工具

    iostat打印解析画图工具

    fence-agents-compute-4.2.1-41.el7-9.6.x64-86.rpm.tar.gz

    1、文件内容:fence-agents-compute-4.2.1-41.el7_9.6.rpm以及相关依赖 2、文件形式:tar.gz压缩包 3、安装指令: #Step1、解压 tar -zxvf /mnt/data/output/fence-agents-compute-4.2.1-41.el7_9.6.tar.gz #Step2、进入解压后的目录,执行安装 sudo rpm -ivh *.rpm 4、安装指导:私信博主,全程指导安装

    从倾斜边缘或倾斜狭缝计算 MTFMatlab代码.rar

    1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。

    维控HMI和PLC在各行业的应用

    PDF格式,229页,包括有环保,新能源,木工,包装等行业的应用。适用于电气自动化行业。

    dropwatch-1.4-9.el7.x64-86.rpm.tar.gz

    1、文件内容:dropwatch-1.4-9.el7.rpm以及相关依赖 2、文件形式:tar.gz压缩包 3、安装指令: #Step1、解压 tar -zxvf /mnt/data/output/dropwatch-1.4-9.el7.tar.gz #Step2、进入解压后的目录,执行安装 sudo rpm -ivh *.rpm 4、安装指导:私信博主,全程指导安装

    fence-agents-emerson-4.2.1-41.el7-9.6.x64-86.rpm.tar.gz

    1、文件内容:fence-agents-emerson-4.2.1-41.el7_9.6.rpm以及相关依赖 2、文件形式:tar.gz压缩包 3、安装指令: #Step1、解压 tar -zxvf /mnt/data/output/fence-agents-emerson-4.2.1-41.el7_9.6.tar.gz #Step2、进入解压后的目录,执行安装 sudo rpm -ivh *.rpm 4、安装指导:私信博主,全程指导安装

    航空发动机磨粒荷电特性研究.pdf

    航空发动机磨粒荷电特性研究.pdf

    第十一届蓝桥杯大赛个人赛校内选拔(软件类)真题

    第十一届蓝桥杯大赛个人赛校内选拔(软件类)真题全面考察了参赛选手的编程与算法能力,涵盖多个热门编程语言,为选手提供了展现自身实力的舞台。 考察范围与方向 真题在编程语言上聚焦于 C/C++、Java、Python 等主流语言。考察内容广泛,既有基础的语法运用,也涉及复杂的数据结构和算法。数据结构方面,对数组、链表、栈、队列、哈希表等的使用有不同程度的考察;算法上,动态规划、贪心算法、搜索算法等经典算法是考察重点。 题型示例与特点 在具体题型上,有数值计算类题目,例如给定条件计算特定数值,要求选手有较强的逻辑思维和数学运算能力;字符串处理类题目,如字符串匹配、替换等,考验选手对字符串操作函数的熟悉程度;还有图论与搜索类题目,像最短路径问题,需要选手掌握相应的搜索算法。 考察目的与意义 这次校内选拔真题旨在筛选出编程能力强、算法思维敏捷的选手,为后续的正式比赛储备人才。通过解答这些真题,选手能发现自身知识短板,明确学习方向。对于学校而言,能了解学生的编程水平,为教学改进提供参考。同时,这也为学生提供了与同龄人交流切磋的机会,激发他们学习编程的热情,提升解决实际问题的能力。

    一种采用耦合电感的开关电路分析.pdf

    一种采用耦合电感的开关电路分析.pdf

    rancher-active-proxy

    rancher-active-proxy

    RSSIIndoorLocation-master

    RSSIIndoorLocation-master

    【电力系统】基于主从博弈的售电商多元零售套餐设计与多级市场购电策略Matlab复现.rar

    1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。

    exchange-bmc-os-info-1.8.18-11.el7-9.x64-86.rpm.tar.gz

    1、文件内容:exchange-bmc-os-info-1.8.18-11.el7_9.rpm以及相关依赖 2、文件形式:tar.gz压缩包 3、安装指令: #Step1、解压 tar -zxvf /mnt/data/output/exchange-bmc-os-info-1.8.18-11.el7_9.tar.gz #Step2、进入解压后的目录,执行安装 sudo rpm -ivh *.rpm 4、安装指导:私信博主,全程指导安装

    基于java+ssm+mysql的图书管理借阅系统 源码+数据库+论文(高分毕设项目).zip

    项目已获导师指导并通过的高分毕业设计项目,可作为课程设计和期末大作业,下载即用无需修改,项目完整确保可以运行。 包含:项目源码、数据库脚本、软件工具等,该项目可以作为毕设、课程设计使用,前后端代码都在里面。 该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值。 项目都经过严格调试,确保可以运行!可以放心下载 技术组成 语言:java 开发环境:idea 数据库:MySql8.0 部署环境:Tomcat(建议用 7.x 或者 8.x 版本),maven 数据库工具:navicat

    docbook-style-xsl-1.78.1-3.el7.x64-86.rpm.tar.gz

    1、文件内容:docbook-style-xsl-1.78.1-3.el7.rpm以及相关依赖 2、文件形式:tar.gz压缩包 3、安装指令: #Step1、解压 tar -zxvf /mnt/data/output/docbook-style-xsl-1.78.1-3.el7.tar.gz #Step2、进入解压后的目录,执行安装 sudo rpm -ivh *.rpm 4、安装指导:私信博主,全程指导安装

Global site tag (gtag.js) - Google Analytics