我们如何使用javascript获取表单中的文本框数量?

时间:2010-09-24 18:32:02

标签: javascript textbox

我们如何使用javascript获取表单中的文本框数量? 提前谢谢。

3 个答案:

答案 0 :(得分:1)

var inputs = document.getElementsByTagName('input');
var count = 0;
for(var cpt = 0; cpt < inputs.length; cpt++)
if (inputs[cpt].type == 'text') count++;
alert(count);

答案 1 :(得分:0)

var node_list = document.getElementsByTagName('input');
var c=0;
for (var i = 0; i < node_list.length; i++) {
    var node = node_list[i];

     if (node.getAttribute('type') == 'text') {
        c++;
     }
 } 
alert(c);

答案 2 :(得分:0)

这会更快:

Array.prototype.slice.apply(document.getElementsByTagName('input')).length;

但它不会分开输入类型。如果你必须这样做,就像我上面那样创建数组然后遍历数组并选择正确类型的成员,然后检查结果数组的长度。

(function () {
    var arr = Array.prototype.slice.apply(document.getElementsByTagName('input')),
    i = arr.length, item, textOnlyArray = [];
    while (i--) {
        item = arr[i];
        if (item.hasOwnProperty("type") && item.type === "text") {
            textOnlyArray.push(item);
        }
    }
    return textOnlyArray;
}());

如果您不需要支持旧的/垃圾浏览器,也可以使用Array.forEach。这甚至比(i - )

更快