JS form表单图片上传 - LiuYier

zsongs 2021-11-01 原文


JS form表单图片上传


 1 // 点击file 类型的input 触发的方法
 2 
 3 function changesProvider(){
 4 
 5   // fileProvider -> input中的name属性值 
 6 
 7   var f = document.getElementByName("fileProvider")[0].files;
 8 
 9   // 图片大小判断
10 
11   if( f[0].size. > 1024*3*1024 ){
12 
13        // 清空form表单中的结构
14 
15     $("#formBoxProvider").children.remove();
16 
17     // 把原先得结构重新动态添加进去
18 
19     $("#formBoxProvider").append( "<label for=\'uploadProvider\' class=\'label_bg\'></label><input id=\'uploadProvider\' onchange=\'changesProvider()\' name=\'fileProvider\' type=\'file\' accept=\'.jpg, .jpeg, .png\'>" );
20 
21     message({
22 
23       type: "error",
24 
25       message: "图片文件不能大于3M"
26 
27     })
28 
29     return false;
30 
31   }
32 
33      //先new一个formData对象
34 
35   var formData = new FormData( $("#formBoxProvider")[0] );
36 
37   //ajax交互
38 
39    $.ajax({
40 
41     type: \'POST\',
42 
43     url: \'${pageContext.request.contextPath}\' + \'serve/provider/image/upload.shtml\',
44 
45     data: formData,
46 
47     contentType: false,
48 
49     processData: false,
50 
51     success: function (data) {
52 
53       if( data.errno == 1 ){
54 
55         // 成功必须再次清空form表单中的DOM结构
56 
57          // 清空form表单中的结构
58 
59         $("#formBoxProvider").children.remove();
60 
61         // 把原先得结构重新动态添加进去
62 
63         $("#formBoxProvider").append( "<label for=\'uploadProvider\' class=\'label_bg\'></label><input id=\'uploadProvider\' onchange=\'changesProvider()\' name=\'fileProvider\' type=\'file\' accept=\'.jpg, .jpeg, .png\'>" );
64 
65         var imagePath = imageUrl + data.data;
66 
67         //盒子中具体图片元素
68         var imageItem = "<div class=\'item-box\'><span class=\'detele_sign\'><img class=\'pImage\' src=\'" + imagePath + "\'></span></div>";
69         #("upload-sign").before(imageItem);
70         $(".detele_sign").on("click", function(){
71 
72                $(this).parents(\'.item-box\').remove(); 
73 
74           if($(\'.item-box\').length < 7 ){
75 
76             $("#upload-sign").show();
77           } 
78 
79            });
80 
81         if($(\'.item-box\').length  == 7){
82 
83           $("#upload-sign").hide();
84         }  
85     }, //success end
86     error: function(data){
87 
88     }
89   }) //ajax end
90 
91 
92 
93 }

 

发表于
2016-10-11 18:36 
LiuYier 
阅读(5423
评论(0
编辑 
收藏 
举报

 

版权声明:本文为zsongs原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/zsongs/p/5950357.html

JS form表单图片上传 - LiuYier的更多相关文章

  1. kafka查询topic属性含义 – 弦灬烨

    kafka查询topic属性含义 第一行,列出了topic的名称,分区数(PartitionCount),副本 […]...

  2. get 请求和post请求的具体区别 – 凡斗

    get 请求和post请求的具体区别 get请求是向服务器索要数据,post请求是向服务器传送数据 的,浏览器 […]...

  3. ENode 1.0 – Saga的思想与实现 – netfocus

    开源地址:https://github.com/tangxuehua/enode 因为enode框架的思想是, […]...

  4. 快速保存网页图片的工具 – 诚明小巫

    快速保存网页图片的工具 获取网页图片的谷歌插件,很强大,很好用。 最近公司准备做自己网站模版库,所以要去网上借 […]...

  5. Win10安装2 —— 版本的选择与下载

    本文内容皆为作者原创,如需转载,请注明出处:https://www.cnblogs.com/xuexianqi […]...

  6. C语言标准IO – iamzhaiwei

    C语言标准IO 2012-07-27 16:00  iamzhaiwei  阅读(1419)  评论(0)  […]...

  7. SharePoint2010安装错误信息描述 – 糖糖分你一半

      SharePoint2010安装不下20遍了,从win7到2008R2,从单机到域环境,把场模式,单机模式 […]...

  8. ubuntu 16.04 远程桌面 x11vnc加vnc-viewer – StarTrack

    ubuntu 16.04 远程桌面 x11vnc加vnc-viewer 参考 http://www.cnblo […]...

随机推荐

  1. DEM+谷歌地球取点工具获取场地地形矢量数据

    【引言】三维地球主要由两层结构来实现,表层是影像贴图层,提供了我们看到的卫星图像,下层是地形(DEM)层,提供 […]...

  2. 学习笔记之一口气读懂经济学

    一口气读懂经济学 (豆瓣) https://book.douban.com/subject/3629421/ […]...

  3. 轉 @@identity与scope_identity()函数的区别

      內容轉自 http://www.cnblogs.com/MingDe/archive/2011/10/12 […]...

  4. 王道考研复习-计算机组成原理-计算机系统概述(一)

    考纲 发展路程 层次结构 性能指标: ## 计算机发展历程 根据物理期间来分大致可以归为4类, 电子管时代: […]...

  5. 在eclipse中生成实体类 – 牛奶糖13号

    在eclipse中生成实体类 http://jingyan.baidu.com/article/624e745 […]...

  6. Oracle备份与恢复详解

    http://www.360doc.com/content/10/1015/15/3267996_612187 […]...

  7. DirectX11 With Windows SDK–33 曲面细分阶段(Tessellation)

    前言 曲面细分是Direct3D 11带来的其中一项重要的新功能。它引入了两个可编程着色器阶段以及一个固定的镶 […]...

  8. 机器学习框架ML.NET学习笔记【3】文本特征分析

    一、要解决的问题 问题:常常一些单位或组织召开会议时需要录入会议记录,我们需要通过机器学习对用户输入的文本内容 […]...

展开目录

目录导航