代码之家  ›  专栏  ›  技术社区  ›  Rajat

使用ID访问表单元素

  •  0
  • Rajat  · 技术社区  · 16 年前

    这让我很惊讶,但我有一个简单的表单,其中包含3个字段。字段没有“名称”属性。它们有一个“id”属性。

    然而。我仍然可以做一个

    var f = document.getElementsByTagName('form')[0];
    alert(f.elementID);
    

    访问元素。我认为以这种方式访问表单元素,“name”属性是必要的。

    对于这种行为,我找不到任何解释。有什么指针吗?

    编辑:

    我认为我的问题有些困惑。

    我的表单域没有“名称”属性。他们有一个“身份证”。不过,我可以这样做:

    myform.elementId
    

    访问它们。问题与GetElementsByTagname无关。

    3 回复  |  直到 15 年前
        1
  •  4
  •   SLaks    16 年前

    getElementsByTagName 返回给定标记的所有元素。(在你的情况下,所有 <form> 元素)

    它不会返回所有具有 name 属性,因为你似乎理解它。

    在你的情况下,你可以打电话给 getElementById 返回具有给定ID的(单个)元素。


    编辑 我想我误解了你的问题。

    如果你问为什么你还能写 myform.elementId ,它确实使用了元素的ID。

        2
  •  4
  •   Michael Bray    16 年前

    您将GetElementsByTagname与GetElementsByName混淆。标记名正在选取<表单>,但名称是<表单名称='XYZ'>。

        3
  •  0
  •   gnarf    16 年前

    你不能用吗

    var f = document.getElementByID('some_id');
    alert(f.value);