layer 上传图片点击取消仍在加载_关于layer.open页面上传文件的无法点击的问题...

在使用layer.open进行页面弹窗时,如果遇到上传文件按钮点击无效的情况,可以通过在layer.open的success回调中添加form.render()和upload.render()来解决。详细步骤包括在success回调中初始化表单渲染,再进行上传配置,如elem、url、done和error等,确保上传功能正常工作。
摘要由CSDN通过智能技术生成

有没有小伙伴用layer open 是发现无法点击上传按钮的问题,其实这个问题很容易解决,首先在layer.open()里面写一个success属性,然后再success里面写一个回调方法。回调里面加上render.form()先进行表单渲染,然后再加上 upload.render();

var uploadInst = upload.render({

elem: '#upload_btn', //绑定元素

accept: 'images', //允许上传的文件类型

multiple: true, //允许多文件上传

auto: false, //选完文件后不要自动上传

bindAction: '.layui-layer-btn0', //指定一个按钮触发上传

number:3,

url: ctx + '/warehouseProblemController/uploadPic.html', //上传接口

choose: function(obj){

var files = obj.pushFile(); //将每次选择的文件追加到文件队列

//图像预览,如果是多文件,会逐个添加。(不支持ie8/9)

obj.preview(function(index, file, result){

var imgobj = new Image(); //创建新img对象

imgobj.src = result; //指定数据源

imgobj.className = 'ml_img';

document.getElementById("div_prev").appendChild(imgobj); //添加到预览区域

});

}

先对上传时间进行渲染,然后就可以进行点击上传文件,提交表单数据了。

下面是效果:

110a1298468b8f25496580f0ee39fd57.png

下面是部分代码:

// 监听数据表格头部按钮

table.on('toolbar(*)', function (obj) {

var checkStatus = table.checkStatus(obj.config.id);

switch (obj.event) {

case 'reload':

table.init('*', obj.config);

break;

// 添加新数据

case 'add':

/* 再弹出添加界面 */

layer.open({

type:1,

title:"添加题库习题",

shade:false,

skin:"myclass",

area:["50%"],

content:'

\n' +

'    

\n' +

'        

\n' +

'            分类名称\n' +

'            

\n' +

'                \n' +

'            

\n' +

'        

\n' +

'\n' +

'        

\n' +

'            测评时长\n' +

'            

\n' +

'                \n' +

'            

\n' +

'        

\n' +

'\n' +

'        

\n' +

'            测评题数\n' +

'            

\n' +

'                \n' +

'            

\n' +

'        

\n' +

'\n' +

'        

\n' +

'            测评分类配图\n' +

'            

\n' +

                   '                测评分类配图\n' +

'            

\n' +

'            

\n' +

'                
\n' +

'                \n' +

'                \n' +

'                    上传图片\n' +

'                \n' +

'            

\n' +

'        

\n' +

'\n' +

'        

\n' +

'            描述\n' +

'            

\n' +

'                \n' +

'            

\n' +

'        

\n' +

'\n' +

'        

\n' +

'            

\n' +

'                保存\n' +

'                重置\n' +

'            

\n' +

'        

\n' +

'    

\n' +

'

',

success:function(){

form.render();

upload.render({

elem: '.upload-btn-whole', //绑定元素

url: '/api/upload/upload', //上传接口

drag: true,

done: function (data) {

//上传完毕回调

if (data.error === 0) {

// layer.msg(data.url);

document.getElementById('thumb').value = data.url;

if (document.getElementById('title_img')) document.getElementById('title_img').src = data.url;

} else {

layer.msg(data.message);

}

}

, error: function () {

//请求异常回调

layer.msg(data.message);

}

});

}

});

/* 渲染表单 */

form.render();

break;

default:

console.log(obj.event);

break;

}

});

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值