form属性必须匹配目标form元素的id而非name或class,大小写及符号均敏感;支持多数input类型(除type="image"),但需有name属性且不能disabled;button跨表单提交须同时设form和type="submit"。

input form 属性必须匹配目标
性能与兼容性影响:该机制是纯 HTML 行为,零 JS 开销;但 IE9 及更早版本完全不识别,需降级为 document.getElementById("search-form").submit() 手动调用。
一个按钮只能关联一个表单:form="form1 form2" 是非法写法,空格分隔会被当做一个错误 ID 处理,浏览器静默失败。
form 属性和 label for 完全无关,但可共存
form 解决的是“数据归属”,for 解决的是“语义聚焦”。二者职责分离,互不干扰。
比如:<label for="user-email">邮箱</label><input id="user-email" name="email" form="login-form"> —— 这样既保证点击文字能聚焦输入框,又确保该输入框的数据在 login-form 提交时被带上。
容易被忽略的点:DOM 结构松散时,开发者容易误以为加了 form 就解决了可访问性问题。其实不然。for 缺失会导致屏幕阅读器无法识别控件语义、键盘 Tab 顺序错乱、点击失效——这些跟 form 属性是否存在毫无关系。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!










