用js解决控件值刷新不及时的问题

目录:

1. 问题描述

我们经常利用按钮进行一些页面值的处理工作。但是默认的逻辑造成,每次新填报的值,需要点击下空白区域或是执行某个其他操作才可以被正确读取。那么我们如何处理呢?

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

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

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

222

2. 解决思路

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

2.1 模板制作
模板样式设计如下,A3和B3单元格添加文本控件,C3单元格为A3和B3相加值,D3和E3单元格添加按钮控件:
222
2.2 “直接相加”按钮的js
D3控件名称为直接相加,添加一个点击事件:

222

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

2.3 “优化后”按钮的js
E3控件名称为优化后,添加一个点击事件:
222

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单元格刷新值。

3. 常见场景

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

比如:用户填写了手机号码,就可以跳转到领取奖品的页面,若手机号码是最后一个填报栏,填写后,用户直接提交,系统则会认为,手机号码一栏为空。

附件列表


主题: 二次开发

文档内容仅供参考,如果你需要获取更多帮助,请咨询帆软技术支持
关于技术问题,您还可以通过帆软论坛获取帮助,论坛上有非常多的大神,有些水平比帆软工程师还要高哦。
若您还有其他非技术类问题,可以联系帆软传说哥(微信ID:frbiaoge)