从表单中完全排除复选框元素?

ibr*_*ter 2 html

如何从表单中完全排除输入(特别是复选框)?具体来说,如何在重置表单时防止重置.关于如何防止它与表单一起提交有很多答案,但似乎没有解决表单重置的问题.

我的问题是我需要在我的页面上放置一个复选框,以便用户控制选项,但它需要位于一堆表单输入的中间.但是,由于它只是一个用户选项选择框,而不是表单的一部分,因此我需要将其从所有表单操作中排除,例如重置表单或提交表单.

小智 6

如果你正在使用支持html5的现代浏览器,你可以使用表单属性

正如mdn所描述:

input元素与其关联的表单元素(其表单所有者).属性的值必须是同一文档中元素的id.如果未指定此属性,则此元素必须是元素的后代.通过此属性,您可以将元素放置在文档中的任何位置,而不仅仅是其表单元素的后代.输入只能与一个表单相关联.

https://developer.mozilla.org/en-US/docs/Web/HTML/Element/Input

所以你可以简单地将form属性设置为文档中不存在的虚拟id

这可以简单地从其包含的表单中排除输入

<!DOCTYPE html>
<html lang="zh">
  <head>
    <meta charset="utf-8">
    <title>html5 template .html</title>

  </head>

  <body>
    <form>
      <input type="checkbox" name="hello"/>aaa
      <input type="checkbox" name="hello"/>bbb
      <input type="checkbox" name="option" form="dummy"/>ccc
      <input type="submit"/>
      <input type="reset"/>
    </form>
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

在上面的代码中.单击重置时.选项未重置

当你点击提交选项不提交时(点击提交后看地址,如:?hello = on&hello = on)