多個(gè)上傳文件用js驗(yàn)證文件的格式和大小的方法(推薦)
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>提交申請(qǐng)</span></a> <dsp:input type="submit" style="display:none;" bean="ReturngoodsFormHandler.submitReturngoods" id="submitReturngoods" value="Add"/> </dsp:form>
需要注意:上傳文件要有一個(gè)id,然后onchage事件里加一個(gè)id的名稱;
js部分:
//將驗(yàn)證的設(shè)置和錯(cuò)誤信息抽離出來,有利于最后submit時(shí)候做判斷 var flag=true; var errorinfo=""; //驗(yàn)證文件的格式 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格式文件,請(qǐng)重新上傳"; alert(errorinfo); flag = false; return false; } //驗(yàn)證文件的大小 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í)候,如果有錯(cuò)誤,第一時(shí)間通知用戶,用戶去修改;
第二:如果用戶最后填完了,雖然之前有提示語句,但是用戶忘了是什么,點(diǎn)擊提交的時(shí)候,仍然可以提示用戶問題的原因。同時(shí)將錯(cuò)誤信息和設(shè)置值放在最外面,而不用再次驗(yàn)證,可以節(jié)省頁面效率。
(document.getElementByIdx_x_x(filenames) 不知道為啥發(fā)表的時(shí)候,總是多個(gè)_x,去又去不掉,大家在copy的時(shí)候記得去掉哈)
以上這篇多個(gè)上傳文件用js驗(yàn)證文件的格式和大小的方法(推薦)就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- 真正好用的js驗(yàn)證上傳文件大小的簡(jiǎn)單方法
- javascript驗(yàn)證上傳文件的類型限制必須為某些格式
- Node.js開發(fā)教程之基于OnceIO框架實(shí)現(xiàn)文件上傳和驗(yàn)證功能
- js驗(yàn)證上傳圖片的方法
- Javascript驗(yàn)證上傳圖片大小[前臺(tái)處理]
- 上傳的js驗(yàn)證(圖片/文件的擴(kuò)展名)
- js 圖片上傳前大小長(zhǎng)寬驗(yàn)證代碼
- javascript 客戶端驗(yàn)證上傳圖片的大?。嫒軮E和火狐)
- Javascript 驗(yàn)證上傳圖片大小[客戶端]
- JS簡(jiǎn)單驗(yàn)證上傳文件類型的方法
相關(guān)文章
如何解決easyui自定義標(biāo)簽 datagrid edit combobox 手動(dòng)輸入保存不上
這篇文章主要介紹了如何解決easyui自定義標(biāo)簽 datagrid edit combobox 手動(dòng)輸入保存不上,需要的朋友可以參考下2015-12-12JS Object構(gòu)造函數(shù)之Object.freeze
這篇文章主要介紹了JS Object構(gòu)造函數(shù)之Object.freeze,對(duì)JS感興趣的同學(xué),可以深入了解下2021-04-04通過修改360搶票的刷新頻率和突破8車次限制實(shí)現(xiàn)方法
這篇文章主要介紹了通過修改360搶票的刷新頻率和突破8車次限制實(shí)現(xiàn)方法的相關(guān)資料,現(xiàn)在刷票工具很多,這里就舉一例修改,增加搶票頻率及突破8車次限制,需要的朋友可以參考下2017-01-01使用element-ui的upload組件上傳代碼包時(shí)遇到的問題小結(jié)
這篇文章主要介紹了使用element-ui的upload組件上傳代碼包時(shí)遇到的問題及總結(jié),本文通過示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-12-12javascript動(dòng)態(tài)控制服務(wù)器控件實(shí)例
在頁面中放入一個(gè)DropDownList控件,并添加一項(xiàng),用來分析其產(chǎn)生的HTML代碼,這樣在使用js進(jìn)行動(dòng)態(tài)控制時(shí),將會(huì)非常清晰2014-09-09javascript實(shí)現(xiàn)粘貼qq截圖功能(clipboardData)
這篇文章主要介紹了javascript實(shí)現(xiàn)粘貼qq截圖功能,利用clipboardData在網(wǎng)頁中實(shí)現(xiàn)截屏粘貼的功能,感興趣的小伙伴們可以參考一下2016-05-05