JS实现生成随机数

  • 文档创建者:L大大
  • 编辑次数:4次
  • 最近更新:Leo.Tsai 于 2020-04-14
  • 1. 概述

    1.1 预期效果

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

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

    8B6D7495-C1FE-4360-A397-1823605E53B9.GIF

    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

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

    Snag_993881a.png

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

    Snag_9adbfe4.png

    JS 代码如下:

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


    }

    2.2 效果预览

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

    注:不支持移动端。

    3. 模板下载

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

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

    附件列表


    主题: 二次开发
    • 有帮助
    • 没帮助
    • 只是浏览
    • 评价文档,奖励 1 ~ 100 随机 F 豆!