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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • process information unavailable

    process information unavailable今天在虚拟机kill进程的时候出现了processinformationunavailable出现这个问题的原因呢?其实很简单,就是你用A用户创建了一个进程,然后你用B用户把他干掉了,虽然是干掉了,但是查看的时候会出现这个该怎么解决呢?首先我们进入到tmp目录下,用ls查看,你会发现有几个以hsperfdata_开头的文件然后你点进去看的时候就知道那个进程是哪个用…

    2022年9月16日
    3
  • 在pycharm中配置anaconda环境_anaconda pycharm环境配置

    在pycharm中配置anaconda环境_anaconda pycharm环境配置在pycharm中如果出现了nopythoninterpreterconfiguredfortheproject表示你没有给这个工程提供一个解释器如果已经安装pychrm在后期怎么配置解释器呢:![在这里插入图片描述](https://img-blog.csdnimg.cn/20210713171532445.png)file中选择setting然后点击右边的设置,Add进行配置,还是进入systeminterpreter,需要注意的是在Pycharm中选择错了anaconda.

    2022年8月28日
    7
  • idea2021 激活码【最新永久激活】

    (idea2021 激活码)JetBrains旗下有多款编译器工具(如:IntelliJ、WebStorm、PyCharm等)在各编程领域几乎都占据了垄断地位。建立在开源IntelliJ平台之上,过去15年以来,JetBrains一直在不断发展和完善这个平台。这个平台可以针对您的开发工作流进行微调并且能够提供…

    2022年3月26日
    373
  • sql server 2008 r2产品密钥(附二)

    微软官方发布的MicrosoftSQLServer2008R2简体中文完整版。基于SQLServer2008提供可靠高效的智能数据平台构建而成,SQLServer2008R2提供了大量新改进,可帮助您的组织满怀信心地调整规模、提高IT效率并实现管理完善的自助BI。此版本中包含应用程序和多服务器管理、复杂事件处理、主数据服务及最终用户报告等方面的新功能和增强功能。…

    2022年4月11日
    65
  • Excel 各种密码的破解,大全建议收藏!

      本文介绍在Excel的多个文件版本中破解各类密码,包含文件的查看、只读密码,工作表、工作簿的保护密码,以及VBA工程密码。内容非常全面,建议你收藏。文件作者加密码是防止数据被查看,修改,所以,文件密码破解仅供于学习参考,请尊重作者版权,不要断人财路。  下面的有些操作不易撤销,为了防止文件被破坏,破解密码前建议备份原文件。1.文件查看、只读密码破解  Excel文件的查看、只…

    2022年4月4日
    2.0K
  • VB.NET 用循环判断文本框是否为空

    VB.NET 用循环判断文本框是否为空VB.NET 用循环判断文本框是否为空

    2022年4月24日
    114

发表回复

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

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