本篇内容介绍了“jquery中Form如何实现文件上传”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
①先是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" 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中Form如何实现文件上传”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。
原文链接:https://my.oschina.net/u/4228486/blog/3121436