新窗口页面给本页面传值的问题

最近在做一个旅游项目,做后台的时候要添加活动,一个活动有标题显示图,有详情页轮播图,有行程讲解第一天第二天之类的每一天的图片N张。

也就是说图片上传要用很多次,我就去网上找了个webuploader插件,将插件放进一个单独的页面,这样就可以以按钮的方式不限次数的调用。

可是问题来了,当我上传完成之后,怎么样将服务器中保存的图片文件路径返回给下面那个页面呢?我需要让文件名藏在隐藏域里和表单一起提交。折腾了很久,找到的解决办法是window的parent属性,看代码:

        var num = 0;
        uploader.on( 'uploadSuccess', function( file,data ) {
            if(data){
                num ++;

                if({$count} >= 1){
                    if(num <= {$count}){
                        parent.$("#{$name}"+num).val(data);
                        parent.$("#i_{$name}"+num).attr("src", "__UPLOAD__/"+data);
                        parent.$("#h_{$name}"+num).attr("href", "__UPLOAD__/"+data);
                    }
            }
        }
    })

在上传成功的时候,顺手将文件名赋值给下面页面即可,name是点击按钮请求上传图片页面路径带过去的参数,也就是要接收路径的隐藏域。看效果:

代码中的__UPLOAD__是保存文件的绝对路径,因为是本地环境,所以无法以相对路径展示缩略图,另一个赋值的是为了点击查看大图:

原文地址:https://www.cnblogs.com/fengyumeng/p/7025863.html