jquery Form輕鬆實現檔案上傳,jqueryform輕鬆實現
很久開始前就用這個外掛程式了,每次都忘記具體的調用方法,特地寫個demo記錄下。
先上這個demo的傳送門,恩!然後開始了...
①先是html
<a href="javascript:void(0)" class="j_upLoadFile">上傳圖片</a> <form action="介面名字" method="post" enctype="multipart/form-data" id="submitForm"> <!-- 隨檔案一起上傳的欄位 --> <input type="hidden" name="type" value="temp"> <input type="file" name="pic_name" style="display: none" class="j_file"> </form>
將真正的檔案上傳按鈕隱藏(因為它太醜了),自己定義個“.j_uploadFile”的觸發按鈕,到時候和form裡的檔案按鈕相關聯就好了。
②引入jqueryForm
<script src="libs/jquery.min.js"></script> <script src="libs/jquery.form.min.js"></script>
③重點來了
<script> //點擊上傳圖片 $('.j_upLoadFile').click(function(){ $('.j_file').click(); }); //選擇了新檔案 $('.j_file').change(function(){ //如果檔案為空白 if($(this).val() == ''){ return; } $('#submitForm').ajaxSubmit({ type:'post', dataType:'json', success:function(result){ //請求成功後的操作 //並且清空原檔案,不然選擇相同檔案不能再次傳 $('.j_file').val(''); }, error:function(){ //並且清空原檔案,不然選擇相同檔案不能再次傳 $('.j_file').val(''); } }); }) </script>
點擊假的上傳按鈕記得同時觸發真正的file按鈕,當上傳按鈕的value改變值(即開啟檔案夾你選擇新的檔案,點確定時),會觸發ajaxSubmit函數,上傳整個form表單,別忘了在請求成功或失敗,都要清空file值,不然第二次選擇相同的檔案,等於value沒變,不給上傳的。
以上就是本文的全部內容,希望對大家的學習有所協助,也希望大家多多支援幫客之家。