如何用JS控制按钮的显示与隐藏

整体需求就是    

两张报表,A和B  

A  中有链接跳转到  B  并传参  $C, 

B 中有 "返回按钮" 可以返回 A,但是 "返回按钮" 要通过  判断 $C  来控制 是否可见    

条件是  : $C有长度得时候 按钮 显示, $C无长度的时候 按钮 隐藏

image.png

自己写了一段JS   但是感觉好像没有生效,无论$td_month_01有没有长度,$td_month_01 就 是A传给B的参数,我的按钮控件是放在参数面板上的,哪位大神帮我看看,怎么才能让按钮实现我的需求

FineReport 唐流雨 发布于 2021-6-3 10:46 (编辑于 2021-6-3 10:46)
1min目标场景问卷 立即参与
回答问题
悬赏:4 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共5回答
最佳回答
0
axingLv6专家互助
发布于2021-12-9 00:24

$td_month_01是A传给B的,B没有对应控件,不能用下面的方法来获取

var thislen = th.getValue("td_month_01").length; 

应该是直接在这里定义参数名接收传过来的参数,然后判断参数长度

image.png

最佳回答
0
xiaomingyiLv6中级互助
发布于2021-6-3 10:48

if(thislen>0),这个判断不要了么

最佳回答
0
luojian0323Lv7资深互助
发布于2021-6-3 10:48(编辑于 2021-6-3 11:08)

你加了延时了,注意 

this.options.form 要加在延时函数外面

var form=this.options.form

在延时函数里用这个form

---------------------------------------------------------------

var form=this.options.form

setTimeout(function(){ 

this.options.form.getWidgetByName("huoqu");//获取日期td_month_01 

var thislen = this.getValue("td_month_01").length;//取td控件中值的长度 //如果td控件值有长度,设置按钮控件可见,如果无长度设置为不可

if(thislen > 0) { 

form.getWidgetByName("button").setVisible(true); } 

else { form.getWidgetByName("button").setVisible(false); } 

},100); 

  • 唐流雨 唐流雨(提问者) setTimeout(function(){ var td = \'${td_month_01}\' //this.options.form.getWidgetByName(\"huoqu\");//获取日期td_month_01 var thislen = this.getValue(\"td_month_01\").length;//取td控件中值的长度 //如果td控件值有长度,设置按钮控件可见,如果无长度设置为不可 if(thislen > 0) { this.options.form.getWidgetByName(\"button\").setVisible(true); } else { this.options.form.getWidgetByName(\"button\").setVisible(false); } },100); 完整JS 是这样的,麻烦帮忙看看怎么改
    2021-06-03 10:52 
  • luojian0323 luojian0323 回复 唐流雨(提问者) td_month_01是什么,js不能这么用 这个控件是参数面板中的日期控件吗?
    2021-06-03 11:05 
最佳回答
0
snrtuemcLv8专家互助
发布于2021-6-3 10:49(编辑于 2021-6-3 11:00)

var th=this;

setTimeout(function() {

var thislen = th.getValue("td_month_01").length; 

if (thislen > 0) {

th.options.form.getWidgetByName("button").setVisible(true);

} else {

th.options.form.getWidgetByName("button").setVisible(false);

}

}, 100);

image.png

最佳回答
0
yzm248634Lv3见习互助
发布于2021-12-9 08:27

加QQ,给你远程一下?

  • 6关注人数
  • 742浏览人数
  • 最后回答于:2021-12-9 08:27
    请选择关闭问题的原因
    确定 取消
    返回顶部