URL传多个参数,怎么链接

11.cpt

12.cpt

image.png

我想把这几个参数,都传到另一张表上去,怎么链接,另一张的的参数和这张表一样,url中传了一个,貌似没效果


综合了一下各位大神的答案:修改如下

image.png

加了转码,中文变成英文

然后运行效果: 加了五个参数

image.png

点击跳转,依然没效果:

image.png

window.open(encodeURI(
	"http://10.30.1.71:8080/webroot/decision/view/report?viewlet=生管/各工程周排程报表 - 未排工单 - 虚拟.cpt&__bypagesize__=false&生产厂区="+site+"&工程别="+encodeURIComponent(value)+"&工段="+encodeURIComponent(description)+"&开始日期="+starttime+"&结束日期="+endtime),"_self")


FineReport 13182656102 发布于 2019-10-10 09:03 (编辑于 2019-10-10 11:59)
1min目标场景问卷 立即参与
回答问题
悬赏:4 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
qhlLv6中级互助
发布于2019-10-10 09:20

可能原因:

1、字符编码问题,因为URL里面是汉字,另一张报表无法根据名称接收参数,建议尽量用英文参数名称;

2、可能是报表路径问题,可以先预览那张报表,然后在浏览器复制一下报表路径,把现在路径替换一下,然后再正常拼接参数;

3、可能参数值有汉语,导致传递过去出现乱码,可以用encodeURIComponent()对参数值转码,如下图:1570670390(1).jpg

  • 13182656102 13182656102(提问者) 两个有汉字的地方试过了,加了encodeURICode(),不加参数之前,报表是可以访问的,一直在用
    2019-10-10 09:27 
  • qhl qhl 回复 13182656102(提问者) 那是不是因为这些参数没有提交(即点击查询),导致获取不到参数值呢?我这边用的是var OguCode=this.options.form.getWidgetByName(\"OguCode\").getValue()来获取选的参数值
    2019-10-10 09:33 
  • 13182656102 13182656102(提问者) 回复 qhl 对,我没查询,别人要是直接想看查另一张报表,就不会点击查询,在这张报表选好了参数,直接点击按钮,燃煤后再那张表也可以看到刚刚传过去的参数 刚刚试了下,点击了查询,再点击一张报表,参数还是没有传过去
    2019-10-10 09:37 
  • qhl qhl 回复 13182656102(提问者) 你能把模板导出来看一下嘛,把内容去掉,只留参数部分
    2019-10-10 10:26 
  • 13182656102 13182656102(提问者) 回复 qhl 刚刚数据库崩了,我现在导不出来
    2019-10-10 10:49 
最佳回答
0
晓亮Lv7资深互助
发布于2019-10-10 09:05(编辑于 2019-10-10 09:17)


用&连起来就可以

dd.cpt&op=write&审计单位="+dw+"&项目类别="+ty+"&项目年度="+nd

你自定义的参数尽量别用汉字


微信图片_1111.png

  • 13182656102 13182656102(提问者) 前面转码了,几张报表都用的汉字,就懒得改了
    2019-10-10 09:14 
  • 晓亮 晓亮 回复 13182656102(提问者) 嗯,也不太影响。
    2019-10-10 09:17 
最佳回答
0
孤陌Lv6资深互助
发布于2019-10-10 09:06(编辑于 2019-10-10 09:07)

window.parent.FS.tabPane.addItem({title:"房间基础信息修改",src:"${servletURL}?reportlet=BasicInfo_Update.cpt&op=write&CityComID="+CityComID+"&CityID="+CityID+"&ProjectID="+ProjectID+"&PeriodID="+PeriodID+"&ProductID="+ProductID+"&BuildingID="+BuildingID+"&UUID="+UUID+"&ID="+ID}); //多个参数传参

按照这样来写 就可以了

  • 13182656102 13182656102(提问者) window.open(encodeURI( \"http://10.30.1.71:8080/webroot/decision/view/report?viewlet=生管/各工程周排程报表 - 未排工单 - 虚拟.cpt&__bypagesize__=false&生产厂区=\"+生产厂区+\"&工程别=\"+工程别+\"&工段=\"+工段+\"&开始日期=\"+开始日期+\"&结束日期=\"+结束日期),\"_self\") 这样试了。传不过去,是上面写了P=$P 的原因吗?
    2019-10-10 09:13 
  • 孤陌 孤陌 回复 13182656102(提问者) 不会传不过去的 可能是 参数名字是中文的关系 你修改成英文的看看
    2019-10-10 09:30 
  • 孤陌 孤陌 回复 13182656102(提问者) 就是你公式哪里修改成英文的 不影响你原来的SQL
    2019-10-10 09:31 
  • 孤陌 孤陌 回复 13182656102(提问者) 问题在于 你参数哪里不可以用公式 公式获取的都是页面刚开始生成的值 获取不到 你再设置的值 写JS来获取控件值吧
    2019-10-10 12:32 
  • 孤陌 孤陌 回复 13182656102(提问者) var username = this.options.form.getWidgetByName(\"username\").getValue(); 加上这句就好了 有几个控件就写几句这个 username是控件名
    2019-10-10 12:34 
  • 4关注人数
  • 1606浏览人数
  • 最后回答于:2019-10-10 11:59
    请选择关闭问题的原因
    确定 取消
    返回顶部