灵兔捣药 2022-09-28 22:22 采纳率: 60%
浏览 78
已结题

layui动态生成文件上传按钮后点击传入图片后台没反应问题

我使用layui的upload.render上传文件,js代码我动态生成了,点击文件上传按钮后,传入图片文件什么的,后台没反应,前台也没有展示
点击下拉框时,我调用addConstructionUser(res,strsel);,动态拼接了上传的js
 layui.use('form', function () {
            var form = layui.form;
            form.render();
            form.on('select(itemType)', function (data) {
                var res = data.value;
                var e= data.elem;
                console.log(res);
                var strsel =e[e.selectedIndex].text;
                console.log(strsel);
                addConstructionUser(res,strsel);
            })
        });
这是 addConstructionUser(res,strsel);的代码
function addConstructionUser(res,strsel) {
        console.log(res);
        console.log(strsel)
        var content = "" +
            "" +
            "<input id='messageName"</span>+clickNum+<span class="hljs-string">"' style='height: 40px;line-height: 40px;text-align: center' class='layui-input' autocomplete='off' name='messageName'  value="</span> +strsel+ <span class="hljs-string">">" +
            ""+
            "
"+ "<label class='layui-form-label' style='color:white'>附件:</label>"+ "
"+ "<form class='layui-form' action='/enterprise.do/saveFiles' method='post' encType='multipart/form-data'>"+ "
"+ ""+ ""+ ""+ ""+ "
"+ ""+ "
"
+ "
"
+ "</form>"+ ""+ ""+ ""+ ""+ ""+ "
"+ "删除"+ "
"
+ "
"
+ "
"
+ ""+ "<label style='color: white' onclick='delUser(this)'>删除" + "" + ">" $("#batchTd").append(content); batchSetUserType(); layui.form.render(); clickNum++; } 点击添加附件时,我onclick 了一个 batchSetUserType();,进行向后台传递文件, function handleupload() { var el = '#' + event.target.parentElement.id; var result= el.charAt(el.length-1); var intelligenceId = document.getElementById("itemType").value; var $ = layui.jquery , upload = layui.upload; //多文件列表示例 var demoListView = $('#demoList'+result) , uploadListIns = upload.render({ elem: event.target , url: '/enterprise.do/saveFiles' , accept: 'file' , data: { intelligenceId: intelligenceId }  //可放扩展数据  key-value , multiple: true , auto: true , choose: function (obj) { var files = this.files = obj.pushFile(); //将每次选择的文件追加到文件队列 //读取本地文件 obj.preview(function (index, file, result) { var span = $([''">' + file.name + ''].join('')); //单个重传 span.find('.demo-reload').on('click', function () { obj.upload(index, file); }); //删除 span.find('.demo-delete').on('click', function () { delete files[index]; //删除对应的文件 span.remove(); uploadListIns.config.elem.next()[0].value = ''; //清空 input file 值,以免删除后出现同名文件不可选 }); demoListView.append(span); }); } , done: function (res, index, upload) { if (res.code == 0) { //上传成功 $("#attachIds").val($("#attachIds").val() + res.attachId + ","); $("#upload-" + index).children().eq(0).append(删除 "); } return delete this.files[index]; //删除文件队列已经上传成功的文件 } //code为后台传回来的数据,具体多少自己定, //后台只能传回json格式数据,不然会走error函数; , error: function (index, upload) { alert("出现错误") } }) event.stopPropagation(); }
在选择文件后,前台和后台就没有反应了,文件没有传到后台,前台也没有展示

img

求解
前端页面,上传的文件,传到后端,并且显示到页面上
  • 写回答

4条回答 默认 最新

  • 一把编程的菜刀 2022-09-29 09:09
    关注
    获得2.40元问题酬金

    你那代码部分好乱,整理好点来看下哈,应该是form不起作用,你整理好代码发出来看看,再确定
    首先有点要说明的,你的
    function addConstructionUser 函数和 function handleupload() 应该都在 layui.use('form', function () { 里面才对,不应该单独放外面,单独放外面,就用不上layui了,特别是用upload

    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 10月6日
  • 创建了问题 9月28日

悬赏问题

  • ¥15 matlab数据降噪处理,提高数据的可信度,确保峰值信号的不损失?
  • ¥15 怎么看我在bios每次修改的日志
  • ¥15 python+mysql图书管理系统
  • ¥15 Questasim Error: (vcom-13)
  • ¥15 船舶旋回实验matlab
  • ¥30 SQL 数组,游标,递归覆盖原值
  • ¥15 为什么我的数据接收的那么慢呀有没有完整的 hal 库并 代码呀有的话能不能发我一份并且我用 printf 函数显示处理之后的数据,用 debug 就不能运行了呢
  • ¥20 gitlab 中文路径,无法下载
  • ¥15 用动态规划算法均分纸牌
  • ¥30 udp socket,bind 0.0.0.0 ,如何自动选取用户访问的服务器IP来回复数据