uni-app input输入类型为number的时候失去焦点报错?

uni-app input输入类型为number的时候失去焦点报错?

示例代码:

<input type="number" placeholder="这是一个number类型输入框" @focus="focus" @blur="blurs" />
已经附上DEMO

操作步骤:

input失去焦点后报错,复现代码已经上传


### 预期结果:

正常失去焦点

实际结果:

失去焦点后报错 [object DOMException] at view.umd.min.js:1


### bug描述:

input输入类型为number的时候失去焦点报错 [object DOMException] at view.umd.min.js:1
该报错导致了  input无法执行@blur  失去焦点事件,也就意味着,所有需要在失去焦点后处理的逻辑都无法完成
开发环境 版本号 项目创建方式
Windows 10 HBuilderX

附件

input测试.rar


更多关于uni-app input输入类型为number的时候失去焦点报错?的实战教程也可以访问 https://www.itying.com/category-93-b0.html

13 回复

请官方人员尽快给个答复(已联系到官方人员QQ处理了)

更多关于uni-app input输入类型为number的时候失去焦点报错?的实战教程也可以访问 https://www.itying.com/category-93-b0.html


假期结束了。官方的大佬们能帮忙看看 问题不 ? APP端 input输入框type类型为number。在失去焦点后报错[object DOMException] at view.umd.min.js:1 。能给个答复不

测试未复现,仅指定机型存在此问题吗?

我这边目前 OPPO R9s 还有模拟器都会有这个错误, 我自己已经反复测试了好多次了。一直报错。我这边可以提供一个视频

视频在下方评论已经上传了

这是测试视频

模拟器是mumu

问题确认,已加分,后续修复
临时解决方案,替换附件文件到 HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/uni-app-plus/dist/view.umd.min.js

我的项目也卡这了,安卓版本5也是这个问题,input失去焦点报错object DOMException,今天5.7了还没修改,我看有人1月份就提出过这个问题

回复 a***@163.com: 新问题,仅在低版本 webview 内出现,已帮原文作者解决。等待更新。

回复 a***@163.com: 已将提供给原作者的临时解决方案放在附件中,着急可使用。

HBuilderX 3.1.13 已修复

这是一个已知的 uni-app 兼容性问题。当 input 的 type 设置为 number 时,在某些平台(特别是 H5 端)可能会触发浏览器的原生验证机制,导致 blur 事件被 DOMException 中断。

解决方案:

  1. 改用 type="digit"
    type="number" 替换为 type="digit",后者在 uni-app 中表现更稳定:

    <input type="digit" placeholder="请输入数字" [@blur](/user/blur)="handleBlur" />
    
  2. 使用 text 类型配合正则过滤
    如果必须严格限制为数字,可结合 @input 事件处理:

    <input 
      type="text" 
      @input="onInput" 
      [@blur](/user/blur)="handleBlur"
      placeholder="请输入数字"
    />
    
    methods: {
      onInput(e) {
        e.target.value = e.target.value.replace(/\D/g, '')
      }
    }
回到顶部