多个上传文件用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:;" 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实现继承机制之原型链(prototype chaining)的详解
我们知道在JavaScript中定义类的原型方式,而原型链扩展了这种方式,以一种有趣的方式实现继承机制。prototype 对象是个模板,要实例化的对象都以这个模板为基础。总而言之,prototype 对象的任何属性和方法都被传递给那个类的所有实例。原型链利用这种功能来实现继承机制2013-05-05
JavaScript装饰器函数(Decorator)实例详解
这篇文章主要介绍了JavaScript装饰器函数(Decorator),结合实例形式分析了JavaScript装饰器函数(Decorator)的功能、实现与使用方法,需要的朋友可以参考下2017-03-03
JS中的Error对象及使用JSON.stringify()序列化Error问题
这篇文章主要介绍了JS中的Error对象及使用JSON.stringify()序列化Error问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2022-08-08
Javascript代码混淆综合解决方案-Javascript在线混淆器
Javascript代码混淆综合解决方案-Javascript在线混淆器...2006-12-12
JavaScript中的document.querySelector()方法使用详解
HTML的DOM querySelector()方法可以不需要额外的jQuery等支持,也可以方便的获取DOM元素,语法跟jQuery类似,这篇文章主要给大家介绍了关于JavaScript中document.querySelector()方法使用的相关资料,需要的朋友可以参考下2024-06-06


最新评论