反馈已提交

网络繁忙

JS实现限制文本框控件文本长度

  • 文档创建者:yiyemeiying
  • 历史版本:13
  • 最近更新:Fairy.Zhang 于 2024-10-22
  • 1. 概述

    1.1 版本

    版本
    功能变更
    11.0-

    1.2 应用场景

    在实际填报过程中,对于单据类的编号的填报,可能编码为标准格式,有固定的长度,例如手机号,固定 11 位数。

    在填报此类内容时,当字段超过特定的值时,需要设置提醒。如下图所示:

    2020-12-08_10-58-37.gif

    1.3 实现思路

    文本框控件 添加「编辑后」事件,实时监控当前文本框中文本长度。

    如果长度大于设定的长度,弹窗提醒且文本框中只保留符合长度规范的内容。

    2. 方法一:JS 中固定数字

    方法一直接在 JS 中使用固定数字校验文本长度。

    2.1 新建模板

    新建一张普通报表。如下图所示:

    新建普通报表.jpg

    2.2 添加控件

    为 A1 单元格添加文本控件。如下图所示:

    1.jpg

    2.3 添加事件

    选中 A1 单元格,点击「控件设置>事件」,添加一个「编辑后」事件,在每输入一个字符后触发,即每输入一个字符,就对目前文本框的长度进行一次校验。如下图所示:

    2.jpg

    JavaScript 代码如下:

    注:当需要校验的数据的长度有变化时,修改 JS 中校验长度的数字即可。

    var data=this.getValue();
    //获取到单元格的值
    var len=data.length;
    //判断值的长度
    if(len>7)
    {
    _g().setCellValue("A1",data.substr(0,7));
    //如果单元格值长度超过7位,就截取前7位重新赋值给文本框
    //A1为报表中控件所在单元格位置
    alert("最长为7位");//弹窗显示
    }

    3.  方法二:使用参数

    方法二首先设置一个模板参数,再在 JS 中使用此参数校验文本长度

    3.1 新建模板

    同 2.1 节,此处不再赘述。

    3.2 添加控件

    同 2.2 节,此处不再赘述。

    3.3 添加参数

    添加一个模板参数maxlen,设置默认值。如下图所示:

    注:当需要校验的数据的长度有变化时,修改模板参数默认值即可。

    3.jpg

    3.4 添加事件

    选中 A1 单元格,点击「控件设置>事件」,添加一个「编辑后」事件,事件中添加参数,在每输入一个字符后触发,即每输入一个字符,就对目前文本框的长度进行一次校验。如下图所示:

    5.jpg

    JavaScript 代码如下:

    var data=this.getValue();
    //获取到单元格的值
    var len=data.length;
    //判断值的长度
    if(len>Number(maxlen))
    {
    _g().setCellValue("A1",data.substr(0,Number(maxlen)));
    //如果单元格值长度超过maxlen位,就截取前maxlen位
    //A1为报表中控件所在单元格位置
    alert("最长为"+Number(maxlen)+"位");
    }

    4. 预览效果

    注:不支持移动端。

    方法一、方法二的预览效果相同。

    保存模板,选择「填报预览」,效果如 1.2 节所示。

    5. 下载模板

    点击下载方法一模板:方法一JS中固定数字.cpt

    点击下载方法二模板:方法二使用参数.cpt

    附件列表


    主题: 填报应用
    已经是第一篇
    已经是最后一篇
    • 有帮助
    • 没帮助
    • 只是浏览
    中文(简体)

    鼠标选中内容,快速反馈问题

    鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。

    不再提示

    10s后关闭



    AI

    联系我们
    在线支持
    获取专业技术支持,快速帮助您解决问题
    工作日9:00-12:00,13:30-17:30在线
    页面反馈
    针对当前网页的建议、问题反馈
    售前咨询
    采购需求/获取报价/预约演示
    或拨打: 400-811-8890 转1
    qr
    热线电话
    咨询/故障救援热线:400-811-8890转2
    总裁办24H投诉:17312781526
    提交页面反馈
    仅适用于当前网页的意见收集,帆软产品问题请在 问答板块提问前往服务平台 获取技术支持