在Javascript中循环显示表单中的可见输入元素?

时间:2015-01-02 02:31:31

标签: javascript jquery html children

所以我试图遍历表单中的所有可见输入,并将它们的值设置为空。

这是可重复使用的代码,因此我不能只使用标记名来获取表单实例。

目前我有:

// Clear the form.
var currentForm = $(this).closest("form");
var childs = currentForm.children();
for (var i = 1; i < childs.length - 1; i++) {
    if (childs[i].tagName == "INPUT") {
        childs[i].val('');
    }
}

我所拥有的表现非常奇怪。它似乎适用于隐藏类型的输入,但不适用于其他任何东西。对于文本类型输入,它只返回undefined。

有关如何使文本/密码/文本框输入类型正常工作的任何想法吗?

2 个答案:

答案 0 :(得分:3)

jQuery有一个:visible选择器和一个:input选择器。此外,大多数jQuery方法都在整个集合上运行。 val()可以直接使用,而不是循环使用集合。

currentForm.find(':input:visible').val('');

答案 1 :(得分:0)

文本框输入的tagName为“textarea”。不确定为什么其他文本类型不起作用。你试过了吗?

childs [i] .values ='';