使用ID访问表单元素

时间:2010-01-06 22:09:21

标签: javascript html webforms

这让我感到惊讶,但我有一个简单的表格,里面有3个字段。这些字段没有“name”属性。他们改为拥有“id”属性。

然而。我仍然可以做一个

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

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

我找不到任何解释这种行为的地方。有什么指针吗?

修改

我认为我的问题存在一些混乱。

我的表单字段没有“名称”属性。他们有一个“id”。不过,我可以这样做:

myform.elementId

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

3 个答案:

答案 0 :(得分:4)

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

它不会返回所有具有name属性的元素,因为您似乎理解它。

在您的情况下,您可以调用getElementById来返回具有给定ID的(单个)元素。


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

如果你问为什么你仍然可以写myform.elementId,那就确实使用了元素的ID。

答案 1 :(得分:4)

您将getElementsByTagName与getElementsByName混淆。 TagName正在拾取&lt; form&gt;但名称是&lt; form name ='XYZ'&gt;。

答案 2 :(得分:0)

你不能使用

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