收藏
回答

input maxlength 有一个bug

问题模块
API和组件
input class="weui-input" type="number" maxlength="11" placeholder="手机号码" value="{{cellphone}}" bindinput="cellphoneChanged" />


cellphoneChanged: function (e) {
    this.setData({ cellphone: e.detail.value});
  },
出现问题:


在输入了11位之后,继续重复多次点击数字输入,会出现data.cellphone的长度为12,即为多一位,但显示只有11位.

就是说还是出发了事件.

必须在赋值前,进行长度处理,那这样的话,maxlength还有什么意义.

Android手机有这个问题,开发工具没有,ios没测试.


cellphoneChanged: function (e) {
    // 手机上,会出现变量为12位,但只显示11位的情况
    this.setData({ cellphone: e.detail.value.substr(0, 11)});
  },


最后一次编辑于  2017-07-11
回答关注问题邀请回答
收藏