HTML图例元素未计入表单

前端之家收集整理的这篇文章主要介绍了HTML图例元素未计入表单前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有以下 HTML
<!DOCTYPE html>
<html>
  <head>
    <title>JavaScript &amp; jQuery - Chapter 13: Form Enhancement and Validation - Select All CheckBoxes</title>
    <link rel="stylesheet" href="css/c13.css" />
  </head>
  <body>
    <div class="container login">
      <form id="interests" action="/login" method="post">
        <div class="one-third column">
            <img src="img/logo.png" alt="logo" id="logo" />
        </div>
        <div class="two-thirds column" id="main">
          <fieldset>
            <legend>Genres</legend>
            <label><input type="checkBox" value="all" id="all">All</label>
            <label><input type="checkBox" name="genre" value="animation">Animation</label>
            <label><input type="checkBox" name="genre" value="docs">Documentary</label>
            <label><input type="checkBox" name="genre" value="shorts">Shorts</label>
          </fieldset>
        </div><!-- .two-thirds -->
      </form>
  </div><!-- .container -->
  <script src="js/utilities.js"></script>
  <script src="js/all-checkBoxes.js"></script>
</body>

在all-checkBox.js文件中,我有以下几行:

...
var form = document.getElementById('interests');
var elements = form.elements;
...

当我加载页面并检查调试器(Firefox)中的元素变量时,我看到它是一个长度为5的数组.我的理解是form.elements将返回表单的所有元素.调试器显示元素的以下值:

0: <fieldset> 
1: <input#all> 
2: <input> 
3: <input> 
4: <input>

我认为图例元素也是一个表单元素,但显然在这里不算这样.

任何人都可以开导我吗?

解决方法

getElementById返回一个 HTMLFormElement对象. legend在 elements属性中不是 listed element.

至于为什么…… /耸肩.我似乎无法找到任何背景故事.如果我不得不猜测,我会说,因为它不是表单的实际控制元素,也许权力 – 感觉HTMLFORMElement.elements意味着“控制”元素.但同样,只是猜测.

猜你在找的HTML相关文章