参数面板有一个控件,当用户输入后不为12位则自动向前补0,怎么实现呢

参数面板有一个控件,当用户输入后不为12位则自动向前补0,怎么实现呢

FineReport Vessel1213 发布于 2022-7-5 17:45
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
CD20160914Lv8专家互助
发布于2022-7-5 17:50

你是说用户录入的时候?

  • Vessel1213 Vessel1213(提问者) 录入的时候或者录入后都可以,我最后点击查询按钮的时候会获取这个值,只要在查询的时候能获取的是12位的就行
    2022-07-06 09:03 
  • CD20160914 CD20160914 回复 Vessel1213(提问者) 楼下给你js了。。
    2022-07-06 09:05 
  • Vessel1213 Vessel1213(提问者) 回复 CD20160914 没好用不知道为什么,我选择了编辑后和编辑结束,都没好用,弹窗没毛病,但是输入框的值没变
    2022-07-06 09:14 
  • CD20160914 CD20160914 回复 Vessel1213(提问者) 哦。他的js没有赋值过去。。我改一下代码给你。
    2022-07-06 09:16 
  • CD20160914 CD20160914 回复 Vessel1213(提问者) var a = this.options.form.getWidgetByName(\'cstt\').getValue(); var cs =this.options.form.getWidgetByName(\"cstt\"); if(a.length<12) { for(n=a.length;n<12;n++) { a=\'0\'+a; } cs.setValue(a); }
    2022-07-06 09:19 
最佳回答
0
用户S5182147Lv6中级互助
发布于2022-7-5 18:00

可以使用js实现:

image.png

image.png

image.png

---

var a = _g().getWidgetByName('a').getValue();

if(a.length<12)

{

for(n=a.length;n<12;n++)

{

a='0'+a;

}

alert(a);

_g().getWidgetByName('a').getValue(a);

}

  • Vessel1213 Vessel1213(提问者) 我用_g().getWidgetByName(\'a\').getValue(a);报错,然后就用的下面的js,但是输入框的值没有变化,编辑后和编辑结束都尝试了,还是不好使 this.options.form.getWidgetByName(\'para9\').getValue(a);
    2022-07-06 09:16 
  • 4关注人数
  • 409浏览人数
  • 最后回答于:2022-7-5 18:00
    请选择关闭问题的原因
    确定 取消
    返回顶部