You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows版Google Chrome提交表单时必填checkbox不显示验证弹窗问题

Windows Chrome 复选框required验证异常修复方案

该问题属于Windows版Chrome 96.x版本的已知内核兼容bug,原生表单提交时不会主动触发复选框的required校验提示,Mac平台同版本Chrome无此问题,可选择以下任意方案解决:

方案1:主动调用原生验证API(改动最小,保留原生提示样式)

监听表单submit事件,手动触发验证上报逻辑即可绕开触发异常问题,示例代码如下:

<form action="/" id="testForm">
  <label for=x>Hello</label>
  <input type=checkbox id=x required>
  <button type=submit> click me</button>
</form>

<script>
const form = document.querySelector('#testForm')
form.addEventListener('submit', (e) => {
  // 主动调用验证上报方法,兼容Windows Chrome的触发异常
  if (!form.reportValidity()) {
    e.preventDefault()
  }
})
</script>

方案2:自定义校验逻辑(兼容性最优,支持自定义提示样式)

如果需要适配更多低版本浏览器,可自行实现复选框勾选校验,完全绕开原生验证的兼容问题:

<form action="/" id="testForm">
  <label for=x>Hello</label>
  <input type=checkbox id=x required>
  <span class="tip" style="color: red; display: none;">请勾选此选项</span>
  <button type=submit> click me</button>
</form>

<script>
const form = document.querySelector('#testForm')
const checkbox = document.querySelector('#x')
const tip = document.querySelector('.tip')
form.addEventListener('submit', (e) => {
  if (!checkbox.checked) {
    e.preventDefault()
    tip.style.display = 'inline'
    // 勾选后自动隐藏错误提示
    checkbox.addEventListener('change', () => {
      tip.style.display = checkbox.checked ? 'none' : 'inline'
    }, { once: true })
  }
})
</script>

无代码改动规避方案

若暂时无法调整前端代码,可引导用户升级Chrome到97及以上正式版本,该版本官方已修复Windows平台下的这个验证逻辑bug。

内容的提问来源于stack exchange,提问作者Sergii I.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 12:45:06