点击下拉框时,我调用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 = "" +
"" +
"">" +
""+
""+
""+
" +
"" +
">"
$("#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();
}
你那代码部分好乱,整理好点来看下哈,应该是form不起作用,你整理好代码发出来看看,再确定
首先有点要说明的,你的
function addConstructionUser 函数和 function handleupload() 应该都在 layui.use('form', function () { 里面才对,不应该单独放外面,单独放外面,就用不上layui了,特别是用upload
代码太乱了,先自己浏览器开发者调试工具(F12)看下网络请求有没有异常
F12看下网络发送的上传请求是不是报错了。
看一下上传的方法是不是没有调用成功,或者是文件太大正在上传过程中,看一下控制台执行图