• layui 拖拽上传图片 lay-data获取不了值


    在这里插入图片描述
    问题描述:
    点击上传,选择文件上传,是可以获取到 lay-data 的值传递到后端
    但拖拽上传图片,获取不到 lay-data 的值

    解决方法:
    添加隐藏域,记录操作的值

    <input type="hidden" value="" id="deliver-id">
    
    • 1

    拖拽上传赋值

    $(".deliver-img").on('drop',function(e){
    	e.preventDefault();
        $("#deliver-id").val($(this).attr('lay-data'));
    })
    $(".deliver-img").on('dragover',function(e){
        e.preventDefault();
    })
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    点击上传赋值

    οnclick="$('#deliver-id').val({$goods_list.id})"
    
    • 1

    全部代码:

    运单号:
    <input type="hidden" value="" id="deliver-id">
    <div class="layui-inline">
           {if !empty($goods_list['store_deliver_number']) && strpos($goods_list['store_deliver_number'], 'http') === 0}{else}
           <input type="text" class="layui-input deliver-input{$goods_list.id}" value="{$goods_list.store_deliver_number}" style="width: 130px;"  placeholder="填写发货运单号" onblur="changeStoreDeliver($(this),{$goods_list.id},{$goods_list.order_id})">
           {/if}
           {if (!empty($goods_list['store_deliver_number']) && strpos($goods_list['store_deliver_number'], 'http') === 0) || empty($goods_list['store_deliver_number'])}
           <div class="outer deliver-box" style="width: 60px;float: right;">
               <img src="/static/home/images/close.png" class="close close{$goods_list.id} {if $orderInfo.nameplate_img}show{/if}" onclick="delDeliverImg({$goods_list.id})" style="right: 20px;top: 0px;width: 15px;height: 15px;{if $goods_list.store_deliver_number}display:inline;{/if}">
               <div class="left_epc image-list" style="float: left;padding:0;height: 30px;background-color: #fff;">
                   <div class="layui-upload">
                       <blockquote class="layui-elem-quote layui-quote-nm" style="float: left;border-style: none;padding:0px;">
                           <div class="layui-upload-list{$goods_list.id}" style="margin:0px;margin-top: 10px;">
                               {if $goods_list.store_deliver_number}
                               <a href="{$goods_list.store_deliver_number}" target="_blank"><img class="deliver-src" src="{$goods_list.store_deliver_number}" style="width: 30px;height: 30px;" />a>
                               {/if}
                           div>
                       blockquote>
                       {if empty($goods_list.store_deliver_number)}
                       <div class="layui-upload-drag deliver-img" lay-data="{$goods_list.id}" onclick="$('#deliver-id').val({$goods_list.id})" style="padding:0px;width: 30px;height: 30px;line-height: 32px;font-size: 20px;margin-left:10px;" title="点击上传快递单图片或拖拉图片上传">
                           <p>+p>
                       div>
                       {/if}
                   div>
               div>
           div>
           {/if}
       div>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    $(".deliver-img").on('drop',function(e){
    	e.preventDefault();
        $("#deliver-id").val($(this).attr('lay-data'));
    })
    $(".deliver-img").on('dragover',function(e){
        e.preventDefault();
    })
    layui.use('upload', function(){
    
            var $ = layui.jquery
                ,upload = layui.upload;
    
            // 上传运单图
            upload.render({
                elem: '.deliver-img'
                ,url: "{:url('admin/Xsorder/ajaxUploadDeliver')}"
                ,done: function(res){
                    var id = $("#deliver-id").val();
                    var imgurl = res.data.imgurl;
                    $.ajax({
                        url:"{:url('admin/Xsorder/ajaxSetDeliver')}",//发送的路径
                        data:{id:id,img_url:imgurl},//发送的数据
                        type:"post",//发送的方式
                        dataType:"json",//服务器返回的数据类型
                        success: function(res2) {
                            if(res2.code==200){
                                $('.deliver-input'+id).hide();
                                $('.deliver-box .close'+id).show();
                                $('.deliver-box .layui-upload-list'+id).html('+res2.data.imgurl+'" target="_blank">+res2.data.imgurl+'" style="width: 30px;height: 30px;" />');
                                layer.msg('上传成功');
                            }else{
                                layer.msg(data.msg);
                            }
                        },
                        error: function (data){
                            layer.msg('网络错误,请稍后重试');
                        }
    
                    });
                }
            });
    
        });
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
  • 相关阅读:
    Vue3-Ref Reactive toRef toRefs对比学习、标签ref与组件ref
    大数据——Hive SQL优化
    选择类排序法
    SAP ABAP 基本运算(加减乘除取余 四舍五入 向上下取整) 问题:在使用`DIV`和 `/` 出现的差异以及错误
    vue2 sass 安装及使用2
    java过滤器Filter相关知识点汇总
    基于JAVA疫情物资商城和疫情数据可视化系统设计与实现 开题报告
    金仓数据库KingbaseES数据库参考手册(动态性能视图3.9. sys_stat_progress_cluster )
    【Miracl密码库】编译库文件miracl.a/miracl.lib
    Unity中从3D模型资产中批量提取材质
  • 原文地址:https://blog.csdn.net/gongqinglin/article/details/132832398