
无需 JavaScript,通过 的 name 和 value 属性即可实现多按钮单选提交,每个按钮既触发表单提交,又隐式携带选中值,服务端可直接通过 item 字段接收对应选项。
无需 javascript,通过 `
在标准 HTML 表单中, 本身不支持嵌套在
✅ 正确写法如下:
? 关键说明:
- 所有按钮共享 name="item",确保服务端仅收到一个 item 参数(符合单选语义);
- 每个按钮拥有唯一 value,代表所选选项;
- 浏览器原生支持,兼容所有现代及主流旧版浏览器(IE9+);
- 无需任何额外 CSS 或 JS,无障碍友好(支持键盘聚焦与回车提交);
- 表单仍可包含其他字段(如文本输入、隐藏域等),它们将与 item 一并提交。
⚠️ 注意事项:
- 不要混用 与上述按钮方案——二者逻辑冲突,会导致服务端收到冗余或不确定的 item 值;
- 避免省略 type="submit":默认 type 在部分浏览器中为 submit,但规范要求显式声明以保证一致性;
- 若需视觉上更接近传统单选按钮(如带圆点图标),可通过 CSS 自定义 button 样式,但切勿用 label + input[type="radio"] 包裹 button——这会破坏表单提交逻辑且无效。
总结:这不是“hack”,而是 HTML 标准中被长期低估却高度实用的特性。用语义化
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











