起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

12
返回列表 发新帖
楼主: 王亚龙

[处理中3] 附件上传

[复制链接]

244

主题

688

帖子

1680

积分

金牌会员

Rank: 6Rank: 6

积分
1680
QQ
 楼主| 发表于 2019-9-17 13:50:53 | 显示全部楼层
jishuang 发表于 2019-9-17 12:04
css定位调试看dom上的id

您所说的dom上的id是指这个id吗
4.png
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35920
发表于 2019-9-17 15:39:49 | 显示全部楼层
对是,这个id很明显是两段附件组件的id和_uploaderButton拼接的

通过这个规律自己用jquery通过id获取对象调用click方法就可以
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

244

主题

688

帖子

1680

积分

金牌会员

Rank: 6Rank: 6

积分
1680
QQ
 楼主| 发表于 2019-9-17 15:46:25 | 显示全部楼层
jishuang 发表于 2019-9-17 15:39
对是,这个id很明显是两段附件组件的id和_uploaderButton拼接的

通过这个规律自己用jquery通过id获取对象 ...

再请教您一下,我查找了调试的内容。没有找到可以调用的click方法,所以我一直不能理解您之前给我的回复。我现在的问题就是不会您说的通过id获取对象调用click方法。有没有api或者demo可以参考。
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35920
发表于 2019-9-17 15:59:40 | 显示全部楼层
附件组件提供了源码,看组件源码中上传按钮怎么实现的点击弹出选择文件的弹出框的
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

244

主题

688

帖子

1680

积分

金牌会员

Rank: 6Rank: 6

积分
1680
QQ
 楼主| 发表于 2019-9-17 16:21:44 | 显示全部楼层
jishuang 发表于 2019-9-17 15:59
附件组件提供了源码,看组件源码中上传按钮怎么实现的点击弹出选择文件的弹出框的 ...

源码中是在页面加载的时候执行了方法getHtml4Uploader : function(param){debugger;                var uploaderDiv = param.uploaderDiv;
                var docPath= param.docPath;
                var onClickCallBack = param.clickCallBack;
                var onSubmitCallBack = param.submitCallBack;
                var onCompleteCallBack = param.completeCallBack;
                var caller = param.caller;
                var filter = param.filter ? param.filter : '*/*';
                var button = $('#'+uploaderDiv), interval;
                var dialog = document.createElement('div');
                dialog.id = uploaderDiv+'-waiting';
                dialog.style.position = "absolute";
                dialog.style.zIndex = "2000";
                dialog.style.background = "#fff";
                dialog.style.border = "1px solid #C2D5DC";
                dialog.style.width = "310px";
                dialog.style.height = "80px";
                AjaxUpload.prototype.setDocPath = function(docPath){
                        this._settings.action = justep.doc.InnerUtils.getdocServerAction(
                                        docPath, "/repository/file/cache/upload", true);
                };
                AjaxUpload.prototype.getButton = function(){
                        return this._button;
                };
                debugger;
                var uploader = new AjaxUpload(button, {
                        action : '',
                        name : 'myfile',
                        filter : filter,
                        onClick : function(){
                                if(onClickCallBack){
                                        var success = onClickCallBack.call(caller,this);
                                        if(success == false){
                                                return false;
                                        }
                                }
                        },
                        onSubmit : function(file, ext) {
                                var filter = this._settings.filter;
                                if (filter == '*/*' || ext && new RegExp('^('+filter+')$','\i').test(ext)){
                                       
                                        this.setDocPath(docPath);
                                        if(onSubmitCallBack){
                                                var success = onSubmitCallBack.call(caller,file,this);
                                                if(success == false){
                                                        return false;
                                                }
                                        }
                                        var dialogHeight = 80;
                                        var top = $(this._button).offset().top;
                                        var topValue  = (top > (50+dialogHeight) ? top -50 -dialogHeight :top);
                                        var leftValue = ($(this._button).offset().left + 50);
                                        if(topValue <= 0){
                                                topValue = window.screen.height/2 -50 - dialogHeight;
                                        }
                                       
                                        if(leftValue <=0){
                                                leftValue = window.screen.width/2 - 50;
                                        }
                                        dialog.style.top = topValue + "px";
                                        dialog.style.left = leftValue + "px";
                                        dialog.innerHTML = "<div id='uploadingDialog' style='position:relative;'>" +
                                           "<img style='position:absolute;top:20px;left:20px;' src='"+justep.Request.convertURL("/UI/system/service/report/dialog/waiting1.gif")+"'/>" +
                                           "<div style='position:absolute;top:32px;left:60px;font-size:13px;width:230px;overflow:hidden;height:30px;padding-left:10px;'>正在上传:"+file+",请稍等...</div>" +
                                           "<div style='position:relative;top:32px;left:290px;float:left;width:20px;'></div></div>";
                                        dialog.style.height = dialogHeight +"px";
                                        document.body.appendChild(dialog);
                                } else {                                       
                                        alert(new justep.Message(justep.Message.JUSTEP232010).getMessage());
                                        return false;
                                }
                        }
点击上传文件按钮的时候执行了new AjaxUpload();

我在我的按钮里这样写var button = $('#attachmentEditor21_uploaderButton'), interval;
        var uploader = new AjaxUpload(button, {
                        action : '',
                        name : 'myfile',
                        filter : '*/*',
                        onClick : function(){
                                if(onClickCallBack){
                                        var success = onClickCallBack.call(caller,this);
                                        if(success == false){
                                                return false;
                                        }
                                }
                        },
                        onSubmit : function(file, ext) {
                                var filter = this._settings.filter;
                                if (filter == '*/*' || ext && new RegExp('^('+filter+')$','\i').test(ext)){
                                       
                                        this.setDocPath(docPath);
                                        if(onSubmitCallBack){
                                                var success = onSubmitCallBack.call(caller,file,this);
                                                if(success == false){
                                                        return false;
                                                }
                                        }
                                        var dialogHeight = 80;
                                        var top = $(this._button).offset().top;
                                        var topValue  = (top > (50+dialogHeight) ? top -50 -dialogHeight :top);
                                        var leftValue = ($(this._button).offset().left + 50);
                                        if(topValue <= 0){
                                                topValue = window.screen.height/2 -50 - dialogHeight;
                                        }
                                       
                                        if(leftValue <=0){
                                                leftValue = window.screen.width/2 - 50;
                                        }
                                        dialog.style.top = topValue + "px";
                                        dialog.style.left = leftValue + "px";
                                        dialog.innerHTML = "<div id='uploadingDialog' style='position:relative;'>" +
                                           "<img style='position:absolute;top:20px;left:20px;' src='"+justep.Request.convertURL("/UI/system/service/report/dialog/waiting1.gif")+"'/>" +
                                           "<div style='position:absolute;top:32px;left:60px;font-size:13px;width:230px;overflow:hidden;height:30px;padding-left:10px;'>正在上传:"+file+",请稍等...</div>" +
                                           "<div style='position:relative;top:32px;left:290px;float:left;width:20px;'></div></div>";
                                        dialog.style.height = dialogHeight +"px";
                                        document.body.appendChild(dialog);
                                } else {                                       
                                        alert(new justep.Message(justep.Message.JUSTEP232010).getMessage());
                                        return false;
                                }
                        },
                        onComplete : function(docName, response) {
                                var fileList = $(response).find("file");
                                $("#"+uploaderDiv+'-waiting').remove();
                                if(fileList.length == 0){
                                        throw justep.Error.create(new justep.Message(justep.Message.JUSTEP232026,response).getMessage());
                                }else{
                                        if(onCompleteCallBack){
                                                onCompleteCallBack.call(caller,docName,this,response);
                                        }
                                }
                               
                        }
                });
没有成功打开弹出框。我写的应该是错的。请教下正确的该怎么写

回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35920
发表于 2019-9-17 17:16:36 | 显示全部楼层
这个需要自己debugger调试看看具体执行到什么地方不对了
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

244

主题

688

帖子

1680

积分

金牌会员

Rank: 6Rank: 6

积分
1680
QQ
 楼主| 发表于 2019-9-17 17:21:12 | 显示全部楼层
jishuang 发表于 2019-9-17 17:16
这个需要自己debugger调试看看具体执行到什么地方不对了

跟您确认下,我这种写法是否是正确的。调试过程中没有任何报错信息,我现在不知道该怎么弄,没思路了。
回复 支持 反对

使用道具 举报

244

主题

688

帖子

1680

积分

金牌会员

Rank: 6Rank: 6

积分
1680
QQ
 楼主| 发表于 2019-9-17 17:34:08 | 显示全部楼层
jishuang 发表于 2019-9-17 17:16
这个需要自己debugger调试看看具体执行到什么地方不对了

点击上传文件按钮,正常打开的时候是能够访问到这个onClick方法的。如果要在我的按钮里面去访问docUtil2.js里面的这个方法,我需要怎么写。
5.png
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35920
发表于 2019-9-17 17:41:50 | 显示全部楼层
去访问docUtil2.js里面方法什么意思?你不是就要自己调用附件的上传吗?如果是要自己按钮实现文件中心的上传,那就参考文件中心上传按钮的实现
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-5-6 03:15 , Processed in 0.079620 second(s), 25 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表