| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1201 人关注过本帖
标题:FineReport中如何用JavaScript解决控件值刷新不及时
只看楼主 加入收藏
kaqima
Rank: 1
等 级:新手上路
帖 子:39
专家分:0
注 册:2016-3-15
结帖率:0
收藏
 问题点数:0 回复次数:0 
FineReport中如何用JavaScript解决控件值刷新不及时
我们经常利用按钮进行一些页面值的处理工作,但是默认的逻辑造成,每次新填报的值,需要点击下空白区域或是执行某个其他操作才可以被正确读取,那么我们如何处理呢?

例:当我们用常规取值的时候,虽然B3单元格录入了值,但是在光标不离开B3的前提下,用JS只获取到了控制而不是实际的值“2”。

想获得B3的值,需要在空白处点击下鼠标,让文本框的左上角的红三角出现才可以。

优化过后则可以将光标强制跳转到A2单元格,使其获得光标,进而强制B3单元格刷新值。

图片附件: 游客没有浏览图片的权限,请 登录注册


既然任意点击空白处就可以,那么我们就用JS来强制跳转光标实现同样的功能。

模板制作

模板样式设计如下,A3和B3单元格添加文本控件,C3单元格为A3和B3相加值,D3和E3单元格添加按钮控件:

图片附件: 游客没有浏览图片的权限,请 登录注册


“直接相加”按钮的JS

D3控件名称为直接相加,添加一个点击事件

图片附件: 游客没有浏览图片的权限,请 登录注册


var B3 = contentPane.curLGP.getCellValue("B3");
var A3 = contentPane.curLGP.getCellValue("A3");
alert("a3的值:"+A3);
alert("b3的值:"+B3);


“优化后”按钮的JS

E3控件名称为优化后,添加一个点击事件

图片附件: 游客没有浏览图片的权限,请 登录注册


程序代码:
contentPane.curLGP.selectTDCell("A2");

var B3 = contentPane.curLGP.getCellValue("B3");
var A3 = contentPane.curLGP.getCellValue("A3");
alert("a3的值:"+A3);
alert("b3的值:"+B3);


contentPane.curLGP.selectTDCell(“A2”):表示的是,将光标强制跳转到A2单元格,也就相当于用鼠标点击了一下A2单元格,使其获得光标,进而强制B3单元格刷新值。

常见场景

用户通过文本框填报了值,而需要对这个值进行取出判断的时候,经常会取空值,只有用户点击了空白区域,才可以正常取值。

比如:用户填写了手机号码,就可以跳转到领取奖品的页面,若手机号码是最后一个填报栏,填写后,用户直接提交,系统则会认为,手机号码一栏为空。
搜索更多相关主题的帖子: 文本框 如何 
2017-03-15 11:58
快速回复:FineReport中如何用JavaScript解决控件值刷新不及时
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.035455 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved