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为某个div加入行样式
Jun 09 jQuery
jQuery扇形定时器插件pietimer使用方法详解
Jul 18 jQuery
JQuery 选择器、DOM节点操作练习实例
Sep 28 jQuery
jquery animate动画持续运动的实例
Nov 29 jQuery
jquery ajaxfileuplod 上传文件 essyui laoding 效果【防止重复上传文件】
May 26 jQuery
jQuery实现炫丽的3d旋转星空效果
Jul 04 jQuery
jQuery的Ajax接收java返回数据方法
Aug 11 jQuery
jquery实现掷骰子小游戏
Oct 24 jQuery
JQuery Ajax如何实现注册检测用户名
Sep 25 jQuery
jQuery实现可以扩展的日历
Dec 01 jQuery
jquery实现广告上下滚动效果
Mar 04 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
SESSION信息保存在哪个文件目录下以及能够用来保存什么类型的数据
2012/06/17 PHP
PHP连接SQLServer2005方法及代码
2013/12/26 PHP
PHP缓存集成库phpFastCache用法
2014/12/15 PHP
PHP调用Linux命令权限不足问题解决方法
2015/02/07 PHP
php版银联支付接口开发简明教程
2016/10/14 PHP
php支付宝系列之电脑网站支付
2018/05/30 PHP
jquery交替变换颜色的三种方法 实例代码
2013/11/19 Javascript
jquery提交form表单简单示例分享
2014/03/03 Javascript
jquery查找父元素、子元素(个人经验总结)
2014/04/09 Javascript
JS实现1000以内被3或5整除的数字之和
2016/02/18 Javascript
HTML5 canvas 9绘制图片实例详解
2016/09/06 Javascript
javascript回调函数的概念理解与用法分析
2017/05/27 Javascript
微信小程序模版渲染详解
2018/01/26 Javascript
JS+H5 Canvas实现时钟效果
2018/07/20 Javascript
Vuex mutitons和actions初使用详解
2019/03/04 Javascript
微信小程序结合Storage实现搜索历史效果
2019/05/18 Javascript
小程序两种滚动公告栏的实现方法
2019/09/17 Javascript
JS对日期操作封装代码实例
2019/11/08 Javascript
vue中组件通信详解(父子组件, 爷孙组件, 兄弟组件)
2020/07/27 Javascript
在Vue中使用CSS3实现内容无缝滚动的示例代码
2020/11/27 Vue.js
[06:43]DAC2018 4.5 SOLO赛 Maybe vs Paparazi
2018/04/06 DOTA
Python中生成器和yield语句的用法详解
2015/04/17 Python
详解Python中的Numpy、SciPy、MatPlotLib安装与配置
2017/11/17 Python
python excel使用xlutils类库实现追加写功能的方法
2018/05/02 Python
python实现学员管理系统
2019/02/26 Python
python 实现return返回多个值
2019/11/19 Python
Python+Redis实现布隆过滤器
2019/12/08 Python
Python 实现数组相减示例
2019/12/27 Python
Manjaro、pip、conda更换国内源的方法
2020/11/17 Python
python 基于opencv操作摄像头
2020/12/24 Python
CSS3 中的@keyframes介绍
2014/09/02 HTML / CSS
巴西购物网站:Submarino
2020/01/19 全球购物
高等学院职业生涯规划书范文
2014/09/16 职场文书
2014年公务员转正工作总结
2014/11/07 职场文书
2015年党员创先争优公开承诺书
2015/04/27 职场文书
难以忽视的真相观后感
2015/06/05 职场文书