找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,极速登录

js实现动态参数控件,在移动端报错。

fdh1396727921  初学乍练(Lv1)
发表于 2018-1-12 18:24 | 显示全部楼层 |取消关注该作者的回复
1F豆
为单选按钮控件添加状态改变事件,控制某些控件的显隐。在pc端,模板可以正常使用。但是在移动端会报错,不能控制控件的显隐。

报错如附件截图:

js脚本如下:
var form = this.options.form;
var p2Widget = form.getWidgetByName("year0");
var p3Widget = form.getWidgetByName("date0");
var p4Widget = form.getWidgetByName("week0");
var p5Widget = form.getWidgetByName("y0");
var p6Widget = form.getWidgetByName("d0");
var p7Widget = form.getWidgetByName("w0");
var p8Widget = form.getWidgetByName("year1");
var p9Widget = form.getWidgetByName("date1");
var p10Widget = form.getWidgetByName("week1");
var p11Widget = form.getWidgetByName("y1");
var p12Widget = form.getWidgetByName("d1");
var p13Widget = form.getWidgetByName("w1");
var value = this.getValue();  //获取当前参数即type参数的值
if (value == "按年") {      
   p2Widget.visible();
   p3Widget.invisible();
   p4Widget.invisible();
   p5Widget.visible();
   p6Widget.invisible();
   p7Widget.invisible();
   p8Widget.visible();
   p9Widget.invisible();
   p10Widget.invisible();
   p11Widget.visible();
   p12Widget.invisible();
   p13Widget.invisible();
} else if (value == "按月") {
   p2Widget.invisible();
   p3Widget.visible();
   p4Widget.invisible();
   p5Widget.invisible();
   p6Widget.visible();
   p7Widget.invisible();
   p8Widget.invisible();
   p9Widget.visible();
   p10Widget.invisible();
   p11Widget.invisible();
   p12Widget.visible();
   p13Widget.invisible();
} else if(value == "按周"){
   p2Widget.visible();
   p3Widget.invisible();
   p4Widget.visible();
   p5Widget.visible();
   p6Widget.invisible();
   p7Widget.visible();
   p8Widget.visible();
   p9Widget.invisible();
   p10Widget.visible();
   p11Widget.visible();
   p12Widget.invisible();
   p13Widget.visible();
}else {
   p2Widget.invisible();
   p3Widget.invisible();
   p4Widget.invisible();
   p5Widget.invisible();
   p6Widget.invisible();
   p7Widget.invisible();
   p8Widget.invisible();
   p9Widget.invisible();
   p10Widget.invisible();
   p11Widget.invisible();
   p12Widget.invisible();
   p13Widget.invisible();
}



报错截图

报错截图

最佳答案

查看完整内容

思考了一下,解决方案如下: 1.把visible()换成setVisible (true),invisible()换成setVisible (false) 2.移动端标签控件默认与最近的一个控件绑定,无需获取标签控件。 3.移动端设计的时候,参数控件面板的控件注意排版位置。 修改后js:var form = this.options.form; var p2Widget = form.getWidgetByName("year0"); var p3Widget = form.getWidgetByName("date0"); var p4Widget = form.getWidgetByName("week0"); var ...
此帖共有 13 位番薯登录后查看
回复

使用道具 举报

Bernie任 实名认证 初学乍练(Lv1)
发表于 2018-1-12 18:24 | 显示全部楼层 |取消关注该作者的回复
思考了一下,解决方案如下:
1.把visible()换成setVisible (true),invisible()换成setVisible (false)
2.移动端标签控件默认与最近的一个控件绑定,无需获取标签控件。
3.移动端设计的时候,参数控件面板的控件注意排版位置。
修改后js:var form = this.options.form;
var p2Widget = form.getWidgetByName("year0");
var p3Widget = form.getWidgetByName("date0");
var p4Widget = form.getWidgetByName("week0");
var p8Widget = form.getWidgetByName("year1");
var p9Widget = form.getWidgetByName("date1");
var p10Widget = form.getWidgetByName("week1");
var value = this.getValue();  //获取当前参数即ty参数的值
if (value == "按年") {      
   p2Widget.setVisible(true);
   p3Widget.setVisible(false);
   p4Widget.setVisible(false);
   p8Widget.setVisible(true);
   p9Widget.setVisible(false);
   p10Widget.setVisible(false);
} else if (value == "按月") {
   p2Widget.setVisible(false);
   p3Widget.setVisible(true);
   p4Widget.setVisible(false);
   p8Widget.setVisible(false);
   p9Widget.setVisible(true);
   p10Widget.setVisible(false);
} else if(value == "按周"){
   p2Widget.setVisible(true);
   p3Widget.setVisible(false);
   p4Widget.setVisible(true);
   p8Widget.setVisible(true);
   p9Widget.setVisible(false);
   p10Widget.setVisible(true);
}else {
   p2Widget.setVisible(false);
   p3Widget.setVisible(false);
   p4Widget.setVisible(false);
   p8Widget.setVisible(false);
   p9Widget.setVisible(false);
   p10Widget.setVisible(false);
}
  • 我也说一句

回复

使用道具 举报

flyingsnake 社区微信达人实名认证 番薯互助团队 文档共创团队 互助叫兽、助理编辑
发表于 2018-1-12 18:40 | 显示全部楼层 |取消关注该作者的回复
很多js在移动端是不被支持的.移动端js接口-http://help.finereport.com/doc-view-586.html
  • 我也说一句

回复

使用道具 举报

丢了梦 社区微信达人实名认证 番薯互助团队 互助砖家
发表于 2018-1-15 09:43 | 显示全部楼层 |取消关注该作者的回复
把visible()换成setVisible (true),invisible()换成setVisible (false)试试
  • 我也说一句

三人行,则必有我师,互相学习,互相进步!
回复

使用道具 举报

fdh1396727921  初学乍练(Lv1)
发表于 2018-1-15 10:10 | 显示全部楼层 |取消关注该作者的回复
丢了梦 发表于 2018-1-15 09:43
把visible()换成setVisible (true),invisible()换成setVisible (false)试试

改成setVisible (true) 后,报这个错:can not read property 'setvisible' of null
  收起(2)
  • 丢了梦 丢了梦 : 大小写没错,并且填进了true?
    2018-01-15 10:31 回复
  • fdh1396727921 fdh1396727921 : 回复 丢了梦 :是的。     p2Widget.setVisible(true);
    2018-01-15 10:34 回复
  • 我也说一句

回复

使用道具 举报

fdh1396727921  初学乍练(Lv1)
发表于 2018-1-15 11:14 | 显示全部楼层 |取消关注该作者的回复
感谢各位帮忙!!解决方案如下:
1.把visible()换成setVisible (true),invisible()换成setVisible (false)
2.移动端标签控件默认与最近的一个控件绑定,无需获取标签控件。
3.移动端设计的时候,参数控件面板的控件注意排版位置。
修改后js:var form = this.options.form;
var p2Widget = form.getWidgetByName("year0");
var p3Widget = form.getWidgetByName("date0");
var p4Widget = form.getWidgetByName("week0");
var p8Widget = form.getWidgetByName("year1");
var p9Widget = form.getWidgetByName("date1");
var p10Widget = form.getWidgetByName("week1");
var value = this.getValue();  //获取当前参数即ty参数的值
if (value == "按年") {      
   p2Widget.setVisible(true);
   p3Widget.setVisible(false);
   p4Widget.setVisible(false);
   p8Widget.setVisible(true);
   p9Widget.setVisible(false);
   p10Widget.setVisible(false);
} else if (value == "按月") {
   p2Widget.setVisible(false);
   p3Widget.setVisible(true);
   p4Widget.setVisible(false);
   p8Widget.setVisible(false);
   p9Widget.setVisible(true);
   p10Widget.setVisible(false);
} else if(value == "按周"){
   p2Widget.setVisible(true);
   p3Widget.setVisible(false);
   p4Widget.setVisible(true);
   p8Widget.setVisible(true);
   p9Widget.setVisible(false);
   p10Widget.setVisible(true);
}else {
   p2Widget.setVisible(false);
   p3Widget.setVisible(false);
   p4Widget.setVisible(false);
   p8Widget.setVisible(false);
   p9Widget.setVisible(false);
   p10Widget.setVisible(false);
}
  • 我也说一句

回复

使用道具 举报

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

本版积分规则

Copyright © 帆软|联系帆软| 联系管理员@兔子酱|免责声明|手机版|帆软论坛 ( 苏ICP备14031611号-3 )

GMT+8, 2018-4-26 17:16 , Processed in 0.352505 second(s), 113 queries , Gzip On.

返回顶部 返回列表