本帖最后由 加菲喵 于 2015-9-10 15:44 编辑
1. 问题描述
自带长度校验无法即时进行提醒和处理,只有在失去焦点时才会提醒,并且无法阻止录入
在实际填报过程中,对于单据类的编号的填报,可能编码长度需要固定以整齐格式,并且在录入过程对录入人进行数据准确性的提醒和提示,可以在录入过程中,即时监控录入文本长度,并在设定的长度时,做提醒和录入失效处理
2. 解决思路
在文本框编辑后事件中。实时监控当前文本框文本长度,录入后,如果长度大于设定的长度,则不录入,以及进行弹窗提醒
3. 具体方案
在编号所在的单元格控件 编辑后事件中添加如下代码
- var data=this.getValue();
- var len=data.length;
- if(len>10)
- {
- contentPane.setCellValue("C4",null,data.substr(0,10));
- alert("最长为10位");
- }
复制代码 编辑后事件,会在每输入一个字符后触发,利用此时机,
对目前文本框的长度进行校验var len=data.length;
如果len 当前长度>10 的时候,contentPane.setCellValue("C4",null,data.substr(0,10)); 将前十位字符串重新赋值给文本框
并弹窗提示,“最长为十位”
另外,对于10 这个控制长度,可以建立模板参数,并在js编辑处,添加参数引用模板参数后进行长度判断
即可实现如下的效果(模板已上传)
|