JS代码问题

目前我的批量导出(post) 代码,将这个te.cpt 放在根目录下面,这个语句是没有任何问题的。  但是,我一旦放到其他目录下面,比如  doc  或者 demo文件夹的目录下面。这个语句就无法允许成功。

te.cpt


关键是这句话,需要修改:

for(var i=0;i<subnamevalue.length;i++){            //循环遍历每个复选控件

P.push("{reportlet=/doc/te.cpt,XY:"+procodevalue+",BJ:"+subnamevalue[i]+"}");}




如果我将te.cpt文件放到根目录下面,然后语句改成如下,是成功的。

for(var i=0;i<subnamevalue.length;i++){            //循环遍历每个复选控件

P.push("{reportlet=te.cpt,XY:"+procodevalue+",BJ:"+subnamevalue[i]+"}");}







monvzhilei 发布于 2020-7-12 10:19
1min目标场景问卷 立即参与
回答问题
悬赏:4 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
luojian0323Lv7资深互助
发布于2020-7-12 13:06(编辑于 2020-7-12 19:00)

修改了关键位置,问题解决

批量导出.gif

var form1 = this.options.form;

var procode=form1.getWidgetByName("XY");

var procodevalue=procode.getValue();



if(procodevalue!="")

{

var subname=form1.getWidgetByName("p1");

var subnamevalue=subname.getValue();


var P=[];


for(var i=0;i<subnamevalue.length;i++){            //循环遍历每个复选控件

P.push("{reportlet:'/demo/te.cpt',XY:"+procodevalue+",BJ:"+subnamevalue[i]+"}");}

//将参数值组成的数组转化为字符串

// P.push("{reportlet:te.cpt,XY:华北,BJ:北京}");}

var rp=P.join(",");

alert(rp);

var form = $("<form>");   //定义一个form表单

            form.attr('style', 'display:none');   //在form表单中添加查询参数

            form.attr('target', '');

            form.attr('method', 'post');

            form.attr('action', "/webroot/decision/view/report");

            var input1 = $('<input>');

            input1.attr('type', 'hidden');

            input1.attr('name', 'reportlets');

            input1.attr('value', FR.cjkEncode("["+rp+"]"));

        var input3 = $('<input>');

            input3.attr('type', 'hidden');

            input3.attr('name', 'format');

            input3.attr('value', 'excel');

            var input4 = $('<input>');

            input4.attr('type', 'hidden');

            input4.attr('name','__filename__');

            input4.attr('value', FR.cjkEncode(procodevalue));

            var input5 = $('<input>');

            input5.attr('type', 'hidden');

            input5.attr('name', 'extype');

            input5.attr('value', 'simple');

            $('body').append(form);   

            form.append(input1);  

        form.append(input3);

        form.append(input4);

        //form.append(input5);

            form.submit();



}

else

{

   alert("请选择项目!");

}


  • monvzhilei monvzhilei(提问者) 这个代码, 好像是可以运行,不过导出是空白。
    2020-07-12 14:47 
  • luojian0323 luojian0323 回复 monvzhilei(提问者) 我这边能导出呢
    2020-07-12 14:53 
  • luojian0323 luojian0323 回复 monvzhilei(提问者) 你这个动态参数怪怪的.我调试了一下.省份有直辖市传递过去,就查询不出来值了.
    2020-07-12 15:06 
  • monvzhilei monvzhilei(提问者) 回复 luojian0323 这个是这样子的。批量导出的参数在于p1参数,列举了 BJ也就是省份下所有市的数据。实际可以理解为 班级下面所有学号的数据。需要一个循环才行。不过,你的代码里面,我看不到循环的影子。
    2020-07-12 16:10 
  • luojian0323 luojian0323 回复 monvzhilei(提问者) 你要导出成一个省市一个sheet吗?
    2020-07-12 16:17 
最佳回答
0
zsh331Lv8专家互助
发布于2020-7-12 10:25

doc/te.cpt


试试这个

  • 3关注人数
  • 992浏览人数
  • 最后回答于:2020-7-12 19:00
    请选择关闭问题的原因
    确定 取消
    返回顶部