我现在知道的关于javascript控制数字输入的方法有两种。
1、在keydown里判断keycode是否是数字或者小数点,然后返回false or true,控制是否让input里的值发生变化。
2、在keypress里判断input里的值是否符合指定的格式,如果不是则修改为指定的格式。
感觉这两种方法都有缺陷。
第一种,如果限定位数为2。。。当前值为111.11。要限制不能在小数点后面输入数字,但是可以接受在小数点前面输入数值。好像没有办法实现,因为这个要基于输入后的结果判断。
第二种,上面的场景可以实现,但是视觉上,input里的值会发生变化。
有什么办法能实现不改变这个值实现第一个判断原则呢?
好像问题的关键是,怎么能在input的值发生变化之前捕捉到input修改之后的值。。
1、在keydown里判断keycode是否是数字或者小数点,然后返回false or true,控制是否让input里的值发生变化。
2、在keypress里判断input里的值是否符合指定的格式,如果不是则修改为指定的格式。
感觉这两种方法都有缺陷。
第一种,如果限定位数为2。。。当前值为111.11。要限制不能在小数点后面输入数字,但是可以接受在小数点前面输入数值。好像没有办法实现,因为这个要基于输入后的结果判断。
第二种,上面的场景可以实现,但是视觉上,input里的值会发生变化。
有什么办法能实现不改变这个值实现第一个判断原则呢?
好像问题的关键是,怎么能在input的值发生变化之前捕捉到input修改之后的值。。