ajaxSubmit() 上传文件和进度条显示

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+"%";
    }

 

 

———————————————————————阿纪———————————————————————-

 

转载于:https://www.cnblogs.com/sunjiguang/p/5399236.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/109068.html原文链接:https://javaforall.net

(0)
上一篇 2021年9月14日 上午8:00
下一篇 2021年9月14日 上午8:00


相关推荐

  • 《Java 核心技术卷一》读书笔记

    《Java 核心技术卷一》读书笔记书目信息英文名 CoreJavaVolu Foundamental 作者 CayS HorstmannGar 译者 周立新陈波叶乃文邝劲筠杜永萍

    2026年3月16日
    1
  • futex的使用_fuel开关

    futex的使用_fuel开关futex_t::wake实际是一个计数器,防止在调用futex_wait函数前调用futex_wake而出现的死等现象,函数futex只在满足(*addr1==val)时等待。futex_wait函数与futex_wake函数配合使用,前者等待后者唤醒。futex_lock函数与futex_unlock函数配合使用,前者加锁后者解锁。应该是对数据加锁,而不应该对代码

    2026年2月7日
    4
  • PEST分析顺丰服务需求_快递行业宏观环境PEST分析[通俗易懂]

    PEST分析顺丰服务需求_快递行业宏观环境PEST分析[通俗易懂]精品welcome宏观环境PEST分析PEST分析又称大环境分析,是研究宏观环境的有效工具。通过Pest分析法,公司能够剖析出自身所处的外部大环境究竟对自己的发展是有利还是有害,以及据此作出战略规划,趋利避害。其中每一个字母各代表一个因素,分别为:P(political—政治)、E(economic—经济)、S(social—社会)、T(technological—技术),接下来将通过pest分析…

    2022年6月11日
    48
  • js格式化数字

    js格式化数字今天遇到这么个需求 觉得很有意思 分享给大家 某个 div 内需要将后台返回的数字格式化显示到页面上 怎么叫格式呢 就是每三位就加个逗号 然后我简单实现了一下 functionpars num varnum num toString result while num length gt 3

    2026年3月19日
    2
  • android一键换手机,不同品牌手机一键换机:换新手机怎么转移数据?「建议收藏」

    android一键换手机,不同品牌手机一键换机:换新手机怎么转移数据?「建议收藏」我们正处于一个数码产品更新换代非常快速的时代,很多消费者会紧跟时代潮流,经常更换新手机,但是更换手机之后我们通常需要将旧手机里的数据进行转移,不同品牌之间的手机怎么进行一键换机呢?以安卓手机更换苹果手机转移数据为例:1、首先我们需要在安卓手机上安装“转移到iOS”APP,通过该应用我们可以将安卓手机的数据转移到新的苹果手机上2、确保安卓设备处于WiFi状态3、将安卓设备以及苹果设备连接电源4、设置…

    2022年5月26日
    104
  • 没有Mac mini又何妨?威联通『OpenClaw中文版』超详细部署教程

    没有Mac mini又何妨?威联通『OpenClaw中文版』超详细部署教程

    2026年3月13日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号