// 点击file 类型的input 触发的方法

 function changesProvider(){

   // fileProvider -> input中的name属性值 

   var f = document.getElementByName("fileProvider")[0].files;

   // 图片大小判断

   if( f[0].size. > 1024*3*1024 ){

        // 清空form表单中的结构

     $("#formBoxProvider").children.remove();

     // 把原先得结构重新动态添加进去

     $("#formBoxProvider").append( "<label for='uploadProvider' class='label_bg'></label><input id='uploadProvider' onchange='changesProvider()' name='fileProvider' type='file' accept='.jpg, .jpeg, .png'>" );

     message({

       type: "error",

       message: "图片文件不能大于3M"

     })

     return false;

   }

      //先new一个formData对象

   var formData = new FormData( $("#formBoxProvider")[0] );

   //ajax交互

    $.ajax({

     type: 'POST',

     url: '${pageContext.request.contextPath}' + 'serve/provider/image/upload.shtml',

     data: formData,

     contentType: false,

     processData: false,

     success: function (data) {

       if( data.errno == 1 ){

         // 成功必须再次清空form表单中的DOM结构

          // 清空form表单中的结构

         $("#formBoxProvider").children.remove();

         // 把原先得结构重新动态添加进去

         $("#formBoxProvider").append( "<label for='uploadProvider' class='label_bg'></label><input id='uploadProvider' onchange='changesProvider()' name='fileProvider' type='file' accept='.jpg, .jpeg, .png'>" );

         var imagePath = imageUrl + data.data;

         //盒子中具体图片元素
        var imageItem = "<div class='item-box'><span class='detele_sign'><img class='pImage' src='" + imagePath + "'></span></div>";
        #("upload-sign").before(imageItem);
        $(".detele_sign").on("click", function(){          $(this).parents('.item-box').remove();            if($('.item-box').length < 7 ){             $("#upload-sign").show();
          }         });         if($('.item-box').length == 7){           $("#upload-sign").hide();
        }  
    }, //success end
    error: function(data){     }
  }) //ajax end }

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

  1. form表单图片上传

    1.前端页面 <div class="tkDiv" id="addLOGO" style="display:none;z-index:12;wi ...

  2. MVC下form表单一次上传多种类型的图片(每种类型的图片可以上传多张)

    form表单一次上传多种类型的图片(每种类型的图片可以上传多张) controller中的action方法 public ActionResult UploadImage( )        { in ...

  3. Ajax(form表单文件上传、请求头之contentType、Ajax传递json数据、Ajax文件上传)

    form表单文件上传 上菜 file_put.html <form action="" method="post" enctype="multi ...

  4. Django---CBV和FBV的使用,CBV的流程,给视图加装饰器,Request对象方法,属性和Response对象,form表单的上传

    Django---CBV和FBV的使用,CBV的流程,给视图加装饰器,Request请求对象方法,属性和Response响应对象,form表单的上传 一丶CBV和FBV       在Django中存 ...

  5. form表单文件上传提交且接口回调显示提交成功

    前端: <form method="post" enctype="multipart/form-data" id="formSubmit&quo ...

  6. Ajax serialize()提交form表单不能上传file类型

    前台form表单的提交方式有很多种,例如: 1. form表单submit直接提交的方法 2. Ajax提交的方法 3. jquery提交的方法 4. 原生js提交的方法 每一种方法都有它的优势和不足 ...

  7. 【温故知新】Java web 开发(三)Form表单与上传下载文件

    简介:在一和二的基础之上,这次来记录下如何在页面提交表单数据,以及文件的上传和下载整个流程,请求也不仅限于GET了,也有POST了. 1. 为了方便,在 webapp 下直接新建一个 index.ht ...

  8. BootStrap 智能表单系列 九 表单图片上传的支持

    本章介绍如何在生成表单后,可以支持上传图片后可以及时预览图片 代码如下(连接地址:https://github.com/xiexingen/Bootstrap-SmartForm/blob/maste ...

  9. JAVA入门[16]-form表单,上传文件

    一.如何传递参数 使用 @RequestParam 可以传递查询参数.例如:http://localhost:8092/category/detail?id=1 @RequestMapping(&qu ...

随机推荐

  1. 【转】Struts1.x系列教程(4):标签库概述与安装

    转载地址:http://www.blogjava.net/nokiaguy/archive/2009/01/archive/2009/01/archive/2009/01/archive/2009/0 ...

  2. [课程设计]Scrum 1.4 多鱼点餐系统开发进度(点餐页面框架布置)

    Scrum 1.4 多鱼点餐系统开发进度 (点餐页面框架布置) 1.团队名称:重案组 2.团队目标:长期经营,积累客户充分准备,伺机而行 3.团队口号:矢志不渝,追求完美 4.团队选题:餐厅到店点餐系 ...

  3. 网页设计中常用的19个Web安全字体

    来自http://www.jb51.net 在Web编码中,CSS默认应用的Web字体是有限的,虽然在新版本的CSS3,我们可以通过新增的@font-face属性来引入特殊的浏览器加载字体.但多数情况 ...

  4. C#编写最小化时隐藏为任务栏图标的 Window appllication.

    1.设置WinForm窗体属性showinTask=false 2.加notifyicon控件notifyIcon1,为控件notifyIcon1的属性Icon添加一个icon图标. 3.添加窗体最小 ...

  5. Oracle PL/SQL实战代码下载

    最近在学习PL/SQL编程,算是一个进阶吧,书没带光盘,所以按照书中的地址去下载样例,无法下载,到图灵官网找到了源代码下载地址,无法下载的留邮箱,我发给大家 下载地址: http://www.itur ...

  6. 高斯混合模型与EM算法

    对于高斯混合模型是干什么的呢?它解决什么样的问题呢?它常用在非监督学习中,意思就是我们的训练样本集合只有数据,没有标签. 它用来解决这样的问题:我们有一堆的训练样本,这些样本可以一共分为K类,用z(i ...

  7. 【Todo】网络编程学习-面向工资编程

    https://zhuanlan.zhihu.com/p/20204159 这个系列真的非常好,好好领会学习一下

  8. transition&transform,CSS中过度和变形的设置

    设置样式的过度效果transition-property: none/all; transition-duration:2s;运动时间,默认是0秒 transition-delay:0s; 延迟时间默 ...

  9. Python 日期格式转换

    经常需要爬取网站上的时间信息,不同的网站又有不同的日期显示方式.而我需要将日期格式转化为一种特定的格式,所以为了简便和学习,记录下各种不同的日期格式转换. 日期格式化符号: %y :两位数的年份表示( ...

  10. android应用锁之获取前台进程包名方法

    通过以下方式来获取前台进程的包名: 1.android api 10-20 通过ActivityManager中getRunningTasks来获取. 2.android api 21- 22(部分没 ...