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

fieldset的form属性是否作用于子控件?实测存疑

解答:<fieldset>的form属性为何没传递给子控件

你测试发现的情况完全是HTML规范的预期行为,不是你的测试出了问题~

先明确fieldset的form属性到底是干嘛的

这个属性的作用并不是让内部的表单控件自动关联到指定表单,而是:

  • 让<fieldset>自身成为目标表单的一部分,比如当表单被禁用时,这个fieldset也会被同步禁用;
  • 如果给fieldset设置了name属性,表单提交时会把这个name对应的取值(如果有的话)一起提交;
  • 但它不会将form关联关系传递给内部的input、button等子控件,这就是你为啥测试时发现输入框没提交到目标表单的原因。

如果你想让子控件关联到外部表单

得给每个子控件单独设置form属性才行,比如修改你的代码示例:

<body>
  <section>
    <form id="separate-form"></form>
  </section>
  <fieldset>
    <input type="text" form="separate-form" value="this will get submitted to #separate-form">
    <button form="separate-form">submit</button>
  </fieldset>
</body>

要是控件太多不想一个个加,也可以用JavaScript批量给子控件设置form属性,或者干脆把<fieldset>直接放到目标表单内部,这两种方式都能达到你想要的效果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 07:51:51