在HTMLCollection上使用.getElementsByTagName

时间:2015-02-10 04:07:25

标签: javascript

我正在开展一个项目,我必须从多个表单中选择NAME的多个输入标签。

我使用getElementsByTagName('forms')选择了表单(根据我的理解,它返回一个HTML Collection)。当我尝试应用getElementsByName('example')时,我得到了未定义的TypeError。在做了一些阅读后,我发现HTML Collection没有这种方法。我的问题是在这种情况下我应该使用什么方法来按名称选择输入字段?

(注意:我不能在这个项目中使用jQuery。)

如果我需要澄清任何事情,请告诉我。 干杯!

编辑:这是我正在处理的代码。这个项目的一个限制是我不知道网站上会有多少表格,或者这些表格会有多少输入框。 (FieldObj是一个包含输入字段名称的对象)

var formsList = document.getElementsByTagName('form');

var form;
for (form in formsList) {
    var currentForm = formsList[form];
    for (field in fieldObj) {
        if (formsList.getElementsByName(field)) {...}
    }
}

1 个答案:

答案 0 :(得分:1)

您的代码中的fieldObj变量似乎未定义。我会以这种方式循环表单:

var formsList = document.getElementsByTagName('form');

for (var i=0; i < formsList.length; i++) {
    var form = formsList[i];
    for (field in form) {
        var value = form[field].value;
    }
}