jquery Form轻松实现文件上传


Posted in jQuery onMay 24, 2017

很久开始前就用这个插件了,每次都忘记具体的调用方法,特地写个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没变,不给上传的。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

jQuery 相关文章推荐
jQuery表单设置值的方法
Jun 30 jQuery
jQuery实现返回顶部按钮和scroll滚动功能[带动画效果]
Jul 05 jQuery
jQuery EasyUI结合zTree树形结构制作web页面
Sep 01 jQuery
jQuery ajax读取本地json文件的实例
Oct 31 jQuery
jQuery实现的简单手风琴效果示例
Aug 29 jQuery
jQuery利用FormData上传文件实现批量上传
Dec 04 jQuery
jquery实现选项卡切换代码实例
May 14 jQuery
通过jQuery学习js类型判断的技巧
May 27 jQuery
jquery树形插件zTree高级使用详解
Aug 16 jQuery
jquery添加div实现消息聊天框
Feb 08 jQuery
jQuery实现容器间的元素拖拽功能
Dec 01 jQuery
jquery插件实现悬浮的菜单
Apr 24 jQuery
解决jQuery ajax动态新增节点无法触发点击事件的问题
May 24 #jQuery
JQuery Ajax 异步操作之动态添加节点功能
May 24 #jQuery
使用jQuery.Pin垂直滚动时固定导航
May 24 #jQuery
jquery append与appendTo方法比较
May 24 #jQuery
jQuery日期范围选择器附源码下载
May 23 #jQuery
最常用的jQuery表单验证(简单)
May 23 #jQuery
jquery实现简单实用的轮播器
May 23 #jQuery
You might like
解决了Ajax、MySQL 和 Zend Framework 的乱码问题
2009/03/03 PHP
php zip文件解压类代码
2009/12/02 PHP
Linux下CoreSeek及PHP扩展模块的安装
2012/09/23 PHP
php中通过DirectoryIterator删除整个目录的方法
2015/03/13 PHP
php约瑟夫问题解决关于处死犯人的算法
2015/03/23 PHP
浅谈php7的重大新特性
2015/10/23 PHP
php数据访问之增删改查操作
2016/05/09 PHP
PHP  实现等比压缩图片尺寸和大小实例代码
2016/10/08 PHP
记Laravel调用Gin接口调用formData上传文件的实现方法
2019/12/12 PHP
js/jquery获取浏览器窗口可视区域高度和宽度以及滚动条高度实现代码
2012/12/17 Javascript
js控制div弹出层实现方法
2015/05/11 Javascript
Three.js学习之Lamber材质和Phong材质
2016/08/04 Javascript
微信小程序 canvas API详解及实例代码
2016/10/08 Javascript
基于Vue2的移动端开发环境搭建详解
2016/11/03 Javascript
js面向对象编程总结
2017/02/16 Javascript
安装vue-cli的简易过程
2018/05/22 Javascript
Vue2.0生命周期的理解
2018/08/20 Javascript
[10:04]国际邀请赛采访专栏:DK.Farseer,mouz.Black^,采访员Josh专访
2013/08/05 DOTA
Python的设计模式编程入门指南
2015/04/02 Python
Python的Django框架中自定义模版标签的示例
2015/07/20 Python
windows下安装python的C扩展编译环境(解决Unable to find vcvarsall.bat)
2018/02/21 Python
Django 使用logging打印日志的实例
2018/04/28 Python
详解Django+Uwsgi+Nginx的生产环境部署
2018/06/25 Python
Python生成MD5值的两种方法实例分析
2019/04/26 Python
Python彻底删除文件夹及其子文件方式
2019/12/23 Python
Python Tornado之跨域请求与Options请求方式
2020/03/28 Python
Python使用os.listdir和os.walk获取文件路径
2020/05/21 Python
SEPHORA新西兰官方网站:购买化妆品和护肤品
2016/12/02 全球购物
设计师珠宝:Ylang 23
2018/05/11 全球购物
Java程序员常见面试题
2015/07/16 面试题
2014年庆祝国庆65周年演讲稿
2014/09/21 职场文书
2015元旦晚会主持人开场白+结束语
2014/12/14 职场文书
兵马俑导游词
2015/02/02 职场文书
2015年幼儿园班务工作总结
2015/05/12 职场文书
践行三严三实心得体会(2016推荐篇)
2016/01/06 职场文书
SONY600GR,国产收音机厂商永远的痛
2022/04/05 无线电