ajaxSubmit() 上传文件和进度条显示
1. 首先引用js文件
<script type="text/javascript" src="/js/jquery/jquery.form.js"></script> //ajaxForm 依赖脚本
<script type="text/javascript" src="/js/jquery/jquery-1.8.0.min.js"></script>
2. form 表单
//这是进度条的显示位置
<div class="progress" id="progressHide">
<div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="60"
aria-valuemin="0" aria-valuemax="100" style="width: 0%;" id="progressBar">
<span class="sr-only">40% 完成</span>
</div>
</div>
//这是form表单
<form class="form-horizontal" id="uploadTaskForm" action="uploadTask" enctype="multipart/form-data" method="post"> <input type="file" name="taskFile" class="form-control" id="taskFile"/> <button type="button" class="btn btn-default" onclick="saveTask()">上传 </button> </form>
3. ajax提交
function saveTask() {
var options = {
//提交表单之前做的验证
beforeSubmit:function(){
var taskFile = $("#taskFile").val();
if(taskFile==null || taskFile==''){
return false //表示不可以提交表单
}else{
return true //可以提交表单
} },
//服务器返回结果处理
success:function(data){
//......
},
//进度条的监听器
xhr: function(){
var xhr = $.ajaxSettings.xhr();
if(onprogress && xhr.upload) {
xhr.upload.addEventListener("progress" , onprogress, false);
return xhr;
}
} } //提交表单(uploadTaskForm --->表单的ID)
$("#uploadTaskForm").ajaxSubmit(options); return false //阻止页面跳转 }
4. 侦查当前文件上传情况
function onprogress(evt){
//侦查附件上传情况
//通过事件对象侦查
//该匿名函数表达式大概0.05-0.1秒执行一次
// console.log(evt.loaded); //已经上传大小情况
//evt.total; 附件总大小
var loaded = evt.loaded;
var tot = evt.total;
var per = Math.floor(100*loaded/tot); //已经上传的百分比
var son = document.getElementById('progressBar');
son.innerHTML = per+"%";
son.style.width=per+"%";
}
---------------------------------------------------------------------阿纪----------------------------------------------------------------------
ajaxSubmit() 上传文件和进度条显示的更多相关文章
- Extjs 使用fileupload插件上传文件 带进度条显示
一.首先我们看看官方给出的插件的解释: 一个文件上传表单项具有自定义的样式,并且可以控制按钮的文本和 像文本表单的空文本类似的其他特性. 它使用一个隐藏的文件输入元素,并在用户选择文件后 在form提 ...
- layui上传文件配合进度条
首先看一下效果图: 修改layui的源文件upload.js 1.打开layui/modules/upload.js 2.搜索ajax 3.找到url: 4.添加以下代码: ,xhr:l.xhr(fu ...
- asp.net mvc 实现上传文件带进度条
本文乃是博主早期写的,此种思路虽然实现了,但固然不是最好的,仅做参考学习. 可以用js onprogress .fileinput .webuploader.jq ajaxsubmit等实现 思路:a ...
- struts2上传文件添加进度条
给文件上传添加进度条,整了两天终于成功了. 想要添加一个上传的进度条,通过分析,应该是需要不断的去访问服务器,询问上传文件的大小.通过已上传文件的大小, 和上传文件的总长度来评估上传的进度. 实现监听 ...
- vue项目上传文件以及进度条
最近做项目的时候,需要上传自定义镜像.并且附带进度条,上网查询一下资料,经过一番折磨,也总算做出来了,把自己写项目的内容给大家分享一下. 先直接贴代码吧 1.首先声明一个formData对象. 2.把 ...
- XMLHttpRequest上传文件实现进度条
话不多说,直接上代码: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> & ...
- FormData上传文件 带进度条
* jQuery ajax FormData 上传文件 template $.ajax({ url: url, type: 'POST', data: new FormData(form), dat ...
- ASP.NET Jquery+ajax上传文件(带进度条)
效果图 支持ie6+,chrome,ie6中文文件名会显示乱码. 上传时候会显示进度条. 需要jquery.uploadify.js插件,稍后会给出下载 前台代码 <%@ Page Langua ...
- Java web实时进度条整个系统共用(如java上传、下载进度条、导入、导出excel进度条等)
先上图: 文件上传的: 2017-05-04再次改进.在上传过程中用户可以按 Esc 来取消上传(取消当前上传,或者是全部上传)... 2019-03-26更新进度条显示体验 从服务器上压缩下载: 从 ...
随机推荐
- 利用openssl进行BASE64编码解码、md5/sha1摘要、AES/DES3加密解密
国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html内部邀请码:C8E245J (不写邀请码,没有现金送)国内私 ...
- ThinkPHP CURD方法盘点:limit方法
limit方法也是模型类的连贯操作方法之一,主要用于指定查询和操作的数量,特别在分页查询的时候使用较多.ThinkPHP的limit方法可以兼容所有的数据库驱动类的. 用法 限制结果数量 例如获取满足 ...
- C# Redis Server分布式缓存编程(二)
在Redis编程中, 实体和集合类型则更加有趣和实用 namespace Zeus.Cache.Redis.Demo { public class Person { public int Id { g ...
- Graph(2014辽宁ACM省赛)
问题 F: Graph 时间限制: 1 Sec 内存限制: 128 MB 提交: 30 解决: 5 [cid=1073&pid=5&langmask=0" style=& ...
- Models and the ServiceManager
Models and the ServiceManager In the previous chapter we've learned how to create a "Hello Worl ...
- MySQL(17):Select-union(联合查询)使用注意事项
1. 需求: 获得0115班所有的代课教师代课天数,结果按照升序排序:同时获得0228班,结果按照降序排序. (1)首先查询原来的0115班和0228班所有代课天数,如下: (2)使用un ...
- JAVA_FastJson
package com.qf.mobiletrain01; import java.util.List; import com.alibaba.fastjson.JSON; class Student ...
- 安装MySQL在最后的start service停住了解决方法
今天自己安装mysql在start service卡住了,原来是以前安装过,但是没有删干净.通过下面的方法解决了,特分享下 由于我的MySQL不知道什么原因突然打不开了并报了个10061的错,查了下原 ...
- css 去除input 获取焦点的蓝色边框
input{ outline:0px; }
- php gd 生成日历图
<?php //如果您提交了时间则显示您提交年月的日历,否则显示当前月份日历 if (isset($_GET['month']) && isset($_GET['year'])) ...