Jquery+Aajax 批量上传
2018-06-22 04:39:23来源:未知 阅读 ()
注:转载请标明文章原始出处及作者信息
网上有现成的Uploadify、WebUpload等插件,自己写一个简单的(非插件).
1.页面
批量上传页面
1 <form action="" id="formid"> 2 @Html.Hidden("filelist") 3 <table> 4 <tr> 5 <td> 6 文件: 7 </td> 8 <td> 9 <div id="filediv" class="filediv"></div> 10 </td> 11 </tr> 12 <tr> 13 <td> 14 文件: 15 </td> 16 <td> 17 <input type="file" id="file" name="wfile" accept=".pdf" onchange="upload();" multiple="multiple" /> 18 选择文件 19 20 <span style="padding:5px;color:red;" id="scts">未选择文件</span> 21 </td> 22 </tr> 23 </table> 24 </form>
美化上传按钮
1 <a href="javascript:" style="display:inline-block; width:100px;padding:5px; background:#007dce; position:relative; overflow:hidden;color:white;text-align:center;border-radius:4px;"> 2 <input style="cursor:pointer;position:absolute; right:0; top:0; font-size:100px; opacity:0;" type="file" id="file" name="wfile" accept=".pdf" onchange="upload();" multiple="multiple" /> 3 选择文件 4 </a>
文件列表
1 .filediv { 2 height: 100px; 3 background-color: burlywood; 4 overflow-x: hidden; 5 overflow-y: auto; 6 }
2.脚本
选择文件
1 function upload() { 2 //获得已选文件集合 3 var fs = document.getElementById("file").files; 4 //元素数据 5 var fsarray = $("#filelist").data("data"); 6 if (fsarray) { 7 //添加新选择的文件 8 $.each(fs, function (i, v) { 9 if (fsarray.indexOf(v.name) == -1) { 10 fsarray.push(v); 11 $("#filediv").append("<div data-name='" + v.name + "' class='xdiv'>" + v.name + "<span onclick='delpdf(this)'>X</span></div>"); 12 } 13 }) 14 } 15 else { 16 fsarray = new Array; 17 $.each(fs, function (i, v) { 18 fsarray.push(v); 19 $("#filediv").append("<div data-name='" + v.name + "' class='xdiv'>" + v.name + "<span onclick='delpdf(this)'>X</span></div>"); 20 }) 21 //向元素附加已选择的数据 22 $("#filelist").data("data", fsarray); 23 } 24 $("#scts").css("color", "green").text("已选择" + fsarray.length + "个文件"); 25 }
删除文件
1 function delpdf(obj) { 2 var ar = $("#filelist").data("data"); 3 ar.splice(ar.indexOf("data-name"), 1); 4 $(obj).parent().remove(); 5 $("#scts").css("color", ar.length == 0 ? "red" : "green").text("已选择" + ar.length + "个文件"); 6 }
3.上传
1 if (!$("#formid").validate().form()) return false; 2 var fd = new FormData($("#formid")[0]); 3 if ($("#wfile").outerHTML) { 4 $("#wfile").outerHTML = $("#wfile").outerHTML; 5 } else { 6 $("#wfile").value = ""; 7 } 8 for (var i = 0; i < $("#filelist").data("data").length; i++) { 9 fd.append("filelist[]", $("#filelist").data("data")[i]) 10 } 11 $.ajax({ 12 url: "/home/ManuscriptAdd", 13 type: "post", 14 dataType: "json", 15 data: fd, 16 processData: false, 17 contentType: false, 18 success: function (data) { 19 if (data.state == "200") { 20 $.jBox.tip("上传成功", "success"); 21 window.location.reload(); 22 } 23 else { 24 $.jBox.tip(data.content, "error"); 25 } 26 }, 27 error: function (xhr) { 28 $.jBox.closeTip(); 29 } 30 })
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- laravel实现批量更新多条记录的方法示例 2020-02-19
- php判断文件上传图片格式的实例详解 2020-02-17
- 简单实现php上传文件功能 2020-02-15
- PHP批量上传图片的具体实现方法 2019-10-12
- UEditor编辑器远程图片上传失败的解决办法 2019-09-23
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash