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

Formik表单按回车键误触发未设submit类型的Back按钮问题

问题根因

这是HTML表单的原生默认行为导致的,和Formik框架本身无关:

  • 放在<form>标签内部的<button>元素,如果没有显式声明type属性,浏览器会默认将其识别为type="submit"的提交按钮
  • 当表单内存在聚焦的文本输入框时按下回车键,浏览器会自动触发DOM树中排在最前面的提交按钮的点击事件

你的代码里「Back」按钮没有设置任何type属性,实际就是表单内第一个提交按钮,所以按回车时会优先触发它的点击逻辑。

修复方法

给「Back」按钮显式添加type="button"属性,将其标记为普通功能按钮,就不会被表单的默认回车提交逻辑捕获:

<button 
  type="button"
  onClick={backFunction} 
  className="btn-s-one"
>
  Back
</button>
最佳实践提醒
  • 所有放在表单内部、不承担提交/重置功能的按钮,都要显式声明type="button",不要依赖浏览器默认的type值,避免触发非预期的行为
  • 如果需要调整回车触发的提交按钮,只需要把对应type="submit"的按钮放在DOM顺序的最前面,或者通过JS自定义回车事件逻辑即可

内容的提问来源于stack exchange,提问作者Profer

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 23:09:16