layui 之 upload组件

场景:

1、处于新增页面;

2、表单基本数据与附件想一次提交;

3、需要异步处理;

处理逻辑:

1、先ajax提交基本信息;

2、返回数据ID;

3、携带ID并提交file文件上传;

4、提示上传成功(或处理成功)。

但是layui官网并没有讲解如何在此场景下的参数传递,那么会面临id无法传递的问题;

其实只要在before方法中,赋值参数即可。(this.data={'':''};)

layui 2.1.0

,before: function(obj){ 
          layer.load(); //上传loading
          this.data={'id':$("#docId").val()};
 }

完整如下:

$.ajax({
    url:"form/….",
    data:params,
    dataType:"json",
    type:"POST",
    success:function (data) {
         $("#docId").val(data.data);
         //成功之后执行附件上传
         uploadInst.upload();
     }          
})

layui.use('upload', function() {
            var $ = layui.jquery, upload = layui.upload;
            //选完文件后不自动上传
            uploadInst =  upload.render({
                elem: '#fileBtn'
                ,url: 'url/upload'
                ,auto: false
                //,multiple: true
                ,bindAction: '#bindBtn'
                ,accept: 'file'
                ,done: function(res){
                    if(res.ret == 1){ //上传成功
                        layer.closeAll('loading'); //关闭loading
                        showMsg("上传成功!");
                    }else{
                        layer.closeAll('loading'); //关闭loading
                        showMsg("上传失败!");
                    }
                }
                ,before: function(obj){
                    layer.load(); //上传loading
                    this.data={'id':$("#docId").val()};
                }
                ,choose: function(obj){
                }
                ,error: function(index, upload){ 
                }
            });

        });

转载于:https://my.oschina.net/gmarshal/blog/1614961

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值