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 相关文章推荐
zTree jQuery 树插件的使用(实例讲解)
Sep 25 jQuery
jq源码解析之绑在$,jQuery上面的方法(实例讲解)
Oct 13 jQuery
jQuery实现checkbox的简单操作
Nov 18 jQuery
基于jQuery Ajax实现下拉框无刷新联动
Dec 06 jQuery
Vue+jquery实现表格指定列的文字收缩的示例代码
Jan 09 jQuery
基于jQuery.i18n实现web前端的国际化
May 04 jQuery
jQuery使用动画队列自定义动画操作示例
Jun 16 jQuery
jQuery实现ajax回调函数带入参数的方法示例
Jun 26 jQuery
jQuery实现的网站banner图片无缝轮播效果完整实例
Jan 28 jQuery
jquery+php后台实现省市区联动功能示例
May 23 jQuery
jQuery提示框插件SweetAlert用法分析
Aug 05 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
JavaScript使用prototype定义对象类型
2007/02/07 Javascript
兼容IE与firefox火狐的回车事件(js与jquery)
2010/10/20 Javascript
jqTransform form表单美化插件使用方法
2012/07/05 Javascript
javascript自启动函数的问题探讨
2013/10/05 Javascript
ECMAScript中函数function类型
2015/06/03 Javascript
JavaScript进阶练习及简单实例分析
2016/06/03 Javascript
input框中的name和id的区别
2016/11/16 Javascript
JavaScript实现经典排序算法之冒泡排序
2016/12/28 Javascript
jQuery插件FusionWidgets实现的Cylinder图效果示例【附demo源码】
2017/03/23 jQuery
Angular.js实现动态加载组件详解
2017/05/28 Javascript
jQuery.form.js的使用详解
2017/06/14 jQuery
jQuery Jsonp跨域模拟搜索引擎
2017/06/17 jQuery
jQuery实现frame之间互通的方法
2017/06/26 jQuery
详解webpack+angular2开发环境搭建
2017/06/28 Javascript
vue数字类型过滤器的示例代码
2017/09/07 Javascript
jQuery实现页码跳转式动态数据分页
2017/12/31 jQuery
layui 选择列表,打勾,点击确定返回数据的例子
2019/09/02 Javascript
阿望教你用vue写扫雷小游戏
2020/01/20 Javascript
js实现时钟定时器
2020/03/26 Javascript
python中argparse模块用法实例详解
2015/06/03 Python
python 全局变量的import机制介绍
2017/09/07 Python
Python运维开发之psutil库的使用详解
2018/10/18 Python
python+numpy实现的基本矩阵操作示例
2019/07/19 Python
清洁工表扬信
2014/01/08 职场文书
公司经理聘任书
2014/03/29 职场文书
银行委托书范本
2014/04/04 职场文书
医药销售自荐书
2014/05/29 职场文书
职工小家建设活动方案
2014/08/25 职场文书
学习十八大演讲稿
2014/09/15 职场文书
2014年少先队工作总结
2014/12/03 职场文书
语文教师个人工作总结
2015/02/06 职场文书
个性与发展自我评价
2015/03/06 职场文书
小学教师工作总结2015
2015/04/07 职场文书
浅谈Redis的几个过期策略
2021/05/27 Redis
一些让Python代码简洁的实用技巧总结
2021/08/23 Python
vue使用refs获取嵌套组件中的值过程
2022/03/31 Vue.js