input maxlength 有一个bug
发布于 6 年前 作者 myu 11539 次浏览 来自 问答
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)});
  },
回到顶部