收藏
回答

输入框输入数字问题

框架类型 问题类型 API/组件名称 终端类型 操作系统 微信版本 基础库版本
小程序 需求 input 微信iOS客户端 Android v6.6.5 v1.02.1804120

在组件input输入框中,限制只能输入小数与整数,小数限制小数点后两位,用什么办法?现在可以正常弹出digit,带小数点的数字键盘,就是限制不了以上要求。

回答关注问题邀请回答
收藏

5 个回答

  • 小七&熊大
    小七&熊大
    2019-04-16

    解题思路:

    1,有一个属性,可以控制输入框的输入长度:maxlength; 2,把关注点放到输入完小数点后的第二位,而不是第三位。


    解决方案:

    a, 判断是否有小数点;

    b,小数点后是不是已经出现了两位小数,就是比较字符串的长度和indexOf(".")+3是不是相等;

    c, 如果相等,设置该输入框的maxlength为字符串的长度。

    tips:记得要实时恢复manlength。


    其实这个解决方案最主要就是依靠动态控制maxlength的值,来实现不能继续输入的效果。

    不能继续输入,但是input又没有失焦,也没有disabled掉。

    2019-04-16
    有用
    回复
  • 董不懂
    董不懂
    2018-05-02

    十分感谢

    2018-05-02
    有用
    回复
  • 陈
    2018-05-02

    正常吧,因为替换也是要时间的,这个我暂时没有想到解决的办法,你可以去真机上测试一下

    2018-05-02
    有用
    回复
  • 董不懂
    董不懂
    2018-05-02

    谢谢,刚试了一下,能做到,但是瞬间显示了一下当时输入的值。这种情况正常吗?怎么处理这种情况,不让他瞬间闪动一下。小程序就没有类似android:numeric="decimal"这样的命令吗?

    2018-05-02
    有用
    回复
  • 陈
    2018-05-02

    给你个思路,

    bindinput="事件"

    用这个事件,他可以输入后就进行触发,你可以获取你输入的值,然后用正则判断他,是就赋值给input,不是就把你上一次保存的值赋给input


    2018-05-02
    有用
    回复
登录 后发表内容