微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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意味着“控制”元素.但同样,只是猜测.

原文地址:https://www.jb51.cc/html/227338.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐