boostrap模态框中使用webuploader文件上传按钮失效 怎么解决

World天 2019-04-19 10:13:28

引用


```
上传文件的代码
//背景图编辑
function clickEdictBg(ele) {
$("#ModalImg").prop("src", $(ele).attr("src"));
UpImg(ele);
}

function clickEdict(ele) {
$(ele).siblings('div').removeClass('clickEdict-border').find('.clickEdict').css('display', 'none');
$(ele).toggleClass('clickEdict-border').find('.clickEdict').toggle();
if ($(ele).hasClass('clickEdict-border')) {
$(ele).attr('title', '再次点击可取消编辑');
}
else {
$(ele).attr('title', '点击可编辑');
}
}
function changeIMG(ele) {
$("#ModalImg").prop("src", $(ele).next().attr("src"));
UpImg($(ele).next());
}
function changeIMG_2(ele) {
$("#ModalImg").prop("src", $(ele).next().children().attr("src"));
UpImg($(ele).next().children());
}
function changeEggsIMG(ele) {
$("#ModalImg").prop("src", $(ele).next().find("img").attr("src"));
UpImg($(ele).next().find("img"));
}


//界面上传图片
var uploader110;
function UpImg(el) {
if (!uploader110) {
uploader110 = WebUploader.create({
// swf文件路径
swf: '~/Scripts/WebUploader/Uploader.swf',
// 文件接收服务端。
server: '/DBH/UploadImgToOSS_DataName',
// 选择文件的按钮。可选。
// 内部根据当前运行是创建,可能是input元素,也可能是flash.
pick: {
id: '#lak',
//id: selector,
multiple: false
},
accept: {
title: '图片',
extensions: 'gif,jpg,jpeg,bmp,png',
mimeTypes: 'image/gif,image/jpg,image/jpeg,image/bmp,image/png'
},
threads: 1, //上传并发数
disableGlobalDnd: true,
});
uploader110.on('uploadError', function (file, r) {
$.L.msgWarning("上传出错!");
});
uploader110.on('error', function (r) {
$.L.msgError("格式有误,请上传图片文件!");
})
uploader110.on('uploadComplete', function (file) {
$('#' + file.id).remove();
});
}
for (var i = 0; i < uploader110._events.length; i++) {
var _event_temp = uploader110._events[i];
if (_event_temp) {
if (_event_temp.e == "fileQueued" ||
_event_temp.e == "uploadProgress" ||
_event_temp.e == "uploadSuccess") {
uploader110._events.splice(i, 1);
i--;
}
}
}
// 当有文件被添加进队列的时候
uploader110.on('fileQueued', function (file) {
$('#showImg').append('<div id="' + file.id + '" >' +
'<p class="state">等待上传...</p>' +
'</div>');
uploader110.upload();
});

// 文件上传过程中创建进度条实时显示。
uploader110.on('uploadProgress', function (file, percentage) {
var $li = $('#' + file.id),
$percent = $li.find('.progress .progress-bar');
// 避免重复创建
if (!$percent.length) {
$percent = $('<div class="progress progress-striped active">' +
'<div class="progress-bar" role="progressbar" style="width: 0%">' +
'</div>' +
'</div>').appendTo($li).find('.progress-bar');
}
$li.find('p.state').text('上传中');
$percent.css('width', percentage * 100 + '%');
});

uploader110.on('uploadSuccess', function (file, response) {
$('#ModalImg').attr('src', response._raw);
$('.clickEdict-border').removeClass('clickEdict-border').find('.clickEdict').css('display', 'none');
$(el).attr("src", response._raw);
if ($(el).attr('id') == 'companyLogo') {
$('#LogoImgUrl').attr("src", response._raw);
}
if ($(el).attr('id') == 'PublicCode') {
$('#Upload_WXCodeImgUrl').attr("src", response._raw);
}
$.L.msgSuccess('上传成功!');
});
}
```
...全文
425 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
World天 2019-04-23
  • 打赏
  • 举报
回复
谢谢老哥 我找到问题了 声明的uploader110 没有赋初始值
wangwan_wangwan 2019-04-20
  • 打赏
  • 举报
回复
并不是点击 #lak 就会触发事件,只是 webuploader 在 #lak 按钮位置生成了一个可以选择文件的input,然后点击 #lak ,实际上是点击到了生成的input上
事件没有,你看看生成的input 位置 是不是与你的 #lak 按钮位置有了偏移
World天 2019-04-19
  • 打赏
  • 举报
回复
有没有能解决的大哥

87,993

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧