JS实现自由式填报表动态显示/隐藏行

编辑
  • 文档创建者:yiyemeiying
  • 浏览次数:5729次
  • 编辑次数:8次
  • 最近更新:Kevin-s 于 2019-06-22
  • 1. 描述

    用户在进行报表填报数据时,有时候填报的内容行可能很多,需要通过滚动条上下拖动才能完成。而有些填报内容为选填,用户希望隐藏选填选填的内容。当用户需要填该部分内容的时候,再显示该部分内容。实现效果如下图:


    2. 思路

    通过给下拉框控件添加【编辑后】JS 事件来实现行的隐藏和显示。


    3. 操作步骤

    3.1 模板设置

    打开模板:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\Form\FreeForm\填报联动.cpt

    修改模板中的单元格样式及内容,在 C12 单元格直接录入“不设置”作为控件的初始值,如下图:


    3.2 控件设置

    在 C12 单元格中添加下拉框控件,切换到数据字典,在类型设置中选择自定义,然后添加“设置”和“不设置”两组值。



    3.3 添加事件

    选中 C12 下拉框控件,添加“编辑后”事件,如下图所示:


    //获取当前控件的值
    var a=this.getValue();
    //如果‘设置’则显示,如果‘不设置’则隐藏
    if(a=="设置")
    {
    document.getElementById('r-12-0').style.display = '';
    document.getElementById('r-13-0').style.display = '';
    }
    else
    {
    document.getElementById('r-12-0').style.display = 'None';
    document.getElementById('r-13-0').style.display = 'None';
    }

    选择模板>模板 Web 属性>填报页面设置,添加“加载结束”事件,设置页面默认样式(隐藏教育经历部分),如下图所示:


    //页面加载结束后,隐藏教育经历部分
    document.getElementById('r-12-0').style.display = 'none';//隐藏第13行
    document.getElementById('r-13-0').style.display = 'none';//隐藏第14行


    4. 预览效果

    4.1 PC 端预览效果



    4.2 移动端预览效果

    注:此 JS 不支持移动端使用


    5. 已完成模板

    模板效果在线查看请点击:JS 实现自由式填报表动态显示或隐藏行.cpt

    已完成的模板,可参见:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\JS\填报预览JS实例\31-JS实现自由式填报表动态显示或隐藏行.cpt

    点击下载模板


    附件列表


    主题: 二次开发
    标签: 暂无标签 编辑/添加标签
    如果您认为本文档还有待完善,请编辑

    文档内容仅供参考,如果你需要获取更多帮助,付费/准付费客户请咨询帆软技术支持
    关于技术问题,您还可以前往帆软社区,点击顶部搜索框旁边的提问按钮
    若您还有其他非技术类问题,可以联系帆软传说哥(qq:1745114201

    此页面有帮助吗?只是浏览 [ 去社区提问 ]