input框焦点问题导致的字符串为空

今天我加班遇到了一个特别神奇的东西,同一个输入验证码,我同事的没问题,但我测试验证码就是一直是没有输入验证码.

1.首先我们怀疑是手机型号的问题,但我用其他人的手机同样复现了这个问题.

2.之后怀疑是手机输入法的问题,但对照测试后发现都是使用的同一输入法. 

排查陷入僵局...


3.反复测试后,我们发现我使用的是手输的方式,其他同事使用的是提示点选的方式,经常测试后的确是不同输入方式导致.初步怀疑是大小写字母切换数字的时候导致.

4.修改代码,将input框的文字输出到日志,我们神奇的发现输入字符后并没有日志输出...

无意中点击了一下页面,input框中的字符输出到日志中了.好了,发现了问题所在,只有当input框失去焦点后,才会进行赋值,这也解释了我手输与同事提示点选的区别.我手输过程中input框一直没有失去焦点,所以没有赋值,但同事使用提示点选,在点选的那一刻其实input框失去了一次焦点,赋值字符后,又重新获得焦点,所以赋值并没有问题.

到这里已经发现了问题,剩下的解决就很简单了,实时监听键盘输入或者在提交前失去焦点都可以

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值