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


相关推荐

  • Django(29)模板变量「建议收藏」

    Django(29)模板变量「建议收藏」变量模板中可以包含变量,Django在渲染模板的时候,可以传递变量对应的值过去进行替换。变量的命名规范和Python非常类似,只能是阿拉伯数字和英文字符以及下划线的组合,不能出现标点符号等特殊字符。

    2022年7月31日
    3
  • lldp协议代码阅读_查看链路层发现协议(LLDP)关于交换机的端口状态信息

    lldp协议代码阅读_查看链路层发现协议(LLDP)关于交换机的端口状态信息查看链路层发现协议(LLDP)关于交换机的端口状态信息客观链路层发现协议(LLDP)媒体终端发现(MED)提供另外的功能支持媒体终点设备例如到网络通告为应用程序修正类似语音或视频的enable(event),设备位置发现和故障排除信息。LLDP和思科设备发现协议(CDP)是两个相似的协议,并且区别是LLDP促进供应商互操作性,并且CDP是Cisco业主。LLDP可以用于用户需要工作在设备之间不是…

    2022年5月17日
    46
  • mysql时间戳格式转换日期格式字符串

    mysql时间戳格式转换日期格式字符串1.测试表表结构CREATETABLE`timestamp_string_change`(`id`intNOTNULLAUTO_INCREMENT,`up_time`timestampNULLDEFAULTNULL,PRIMARYKEY(`id`))ENGINE=InnoDBAUTO_INCREMENT=2DEFAULTCHARSET=utf8mb4COLLATE=utf8mb4_0900_ai_ci;2.mysql时间戳格式转字符串方法1

    2022年6月21日
    160
  • pycharm2019激活成功教程版安装教程_2019最新版本的美篇下载

    pycharm2019激活成功教程版安装教程_2019最新版本的美篇下载安装2019Pycharm最新版本-详细教程–激活码1下载安装1.1打开官网http://www.jetbrains.com/pycharm/download/#section=windows1.2.双击下载好的exe,得到如下图所示,点击next1.3.软件安装在其他盘中,比如D盘1.4.根据自己电脑选择64位还是32位,选择关联.py,选择增加更新路径1.5.继续点…

    2022年8月29日
    1
  • C++ 移位操作

    C++ 移位操作左移全部是补 0 这毫无疑问 在右移操作中 最左侧补 0 还是补 1 完全取决于操作数本身是不是符号数 如果是无符号数 则全部是补 0 如果是有符号数 则补符号位上的数字 负数补 1 正数补 0 也就是说 对于有符号数 无论怎么移 符号位保持不变

    2025年6月2日
    0
  • jQuery省市区三级联动插件

    体验效果:http://hovertree.com/texiao/bootstrap/4/支持PC和手机移动端.手机扫描二维码体验效果:代码如下:数据来源:http://hovertree.co

    2021年12月22日
    40

发表回复

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

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