多個上傳文件用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部分:
//將驗證的設(shè)置和錯誤信息抽離出來,有利于最后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;
}
});
注意:這么做的好處是:第一:上傳文件的時候,如果有錯誤,第一時間通知用戶,用戶去修改;
第二:如果用戶最后填完了,雖然之前有提示語句,但是用戶忘了是什么,點擊提交的時候,仍然可以提示用戶問題的原因。同時將錯誤信息和設(shè)置值放在最外面,而不用再次驗證,可以節(jié)省頁面效率。
(document.getElementByIdx_x_x(filenames) 不知道為啥發(fā)表的時候,總是多個_x,去又去不掉,大家在copy的時候記得去掉哈)
以上這篇多個上傳文件用js驗證文件的格式和大小的方法(推薦)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
js將網(wǎng)址轉(zhuǎn)為urlencode類型
網(wǎng)址urlencode加密函數(shù),主要用于中文目錄2008-06-06
基于JavaScript實現(xiàn)繼承機(jī)制之原型鏈(prototype chaining)的詳解
我們知道在JavaScript中定義類的原型方式,而原型鏈擴(kuò)展了這種方式,以一種有趣的方式實現(xiàn)繼承機(jī)制。prototype 對象是個模板,要實例化的對象都以這個模板為基礎(chǔ)。總而言之,prototype 對象的任何屬性和方法都被傳遞給那個類的所有實例。原型鏈利用這種功能來實現(xiàn)繼承機(jī)制2013-05-05
JavaScript裝飾器函數(shù)(Decorator)實例詳解
這篇文章主要介紹了JavaScript裝飾器函數(shù)(Decorator),結(jié)合實例形式分析了JavaScript裝飾器函數(shù)(Decorator)的功能、實現(xiàn)與使用方法,需要的朋友可以參考下2017-03-03
js實現(xiàn)右下角可關(guān)閉最小化div(可用于展示推薦內(nèi)容)
使用Javascript實現(xiàn)右下角可關(guān)閉最小化div,可以用于展示推薦內(nèi)容,完整源代碼如下,感興趣的各位可以參下哈,希望對大家有所幫助2013-06-06
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類似,這篇文章主要給大家介紹了關(guān)于JavaScript中document.querySelector()方法使用的相關(guān)資料,需要的朋友可以參考下2024-06-06

