JS实现生成随机数

楼主
我是社区第485122位番薯,欢迎点我头像关注我哦~
1. 概述
1.1 预期效果

随机生成某个整数区间内的一个数,如下图所示:

注:支持正整数和负整数,不支持小数。

1.2 实现思路

添加数字控件限制区间的最小值和最大值,按钮控件添加 JS 点击事件生成随机数。

2. 示例
2.1 报表设计

1)按照下面表格中的说明设计报表:

单元格操作
B4
写入文本信息:最小值:,微软雅黑,12号字体,背景色号:#FDF5E6
C4
添加数字控件,控件名称为:min,校验不允许为空、不允许小数,微软雅黑,11号字体,白色背景,边框色号:#A57861
F4
写入文本信息:最大值:,微软雅黑,12号字体,背景色号:#FDF5E6
G4
添加数字控件,控件名称:max,校验不允许为空、不允许小数,微软雅黑,11号字体,白色背景,边框色号:#A57861
E7
添加按钮控件,控件名称:R,按钮名字:开始,背景色号:#FDF5E6
B10
写入文本信息:随机数:,微软雅黑,12号字体,背景色号:#FDF5E6
C10
内容为空,白色背景,边框色号:#A57861

最终报表样式如下图所示:

2)选中 E7 单元格的按钮控件,添加一个点击事件,如下图所示:

JS 代码如下:

  1. if(FR.R===undefined)FR.R = false; //状态位
  2. var max=contentPane.getWidgetByName("max").getValue();
  3. var min=contentPane.getWidgetByName("min").getValue();
  4. var num=$("tr#r-9-0","div.content-container").children().eq(2);
  5. var btn=_g().getWidgetByName('R');
  6. a();
  7. function count(){
  8.   num.html(parseInt(Math.random()*(max-min+1)+min),10);
  9.         }
  10. function a(){
  11. if (true==FR.R){
  12.         clearInterval(FR.timerID);
  13.         btn.setText("开始");
  14.         FR.R = false;
  15.         }else if(false==FR.R){
  16.                 FR.timerID=setInterval(count,10);
  17.                 btn.setText("暂停");
  18.                 FR.R = true;

  19.         }
  20. }
复制代码
2.2 效果预览

保存报表,点击填报预览,效果如 1.1预期效果 中所示。

注:不支持移动端。

3. 模板下载

已完成模板可参见:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\Form\LineForm\JS实现生成随机数.cpt

点击下载模板:JS实现生成随机数.cpt


编辑于 2020-12-8 13:50  
分享扩散:

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

本版积分规则

0回帖数 1关注人数 3786浏览人数
最后回复于:2020-12-8 13:50

返回顶部 返回列表