在 Javascript 中循环遍历表单中的可见输入元素?
Loop through visible input elements in a form in Javascript?
所以我试图遍历表单中的所有可见输入,并将它们的值设置为空。
这是可重复使用的代码,所以我不能只使用标签名称来获取表单实例。
目前我有:
// 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('');
}
}
我的行为非常奇怪。它似乎适用于隐藏类型的输入,但不适用于其他任何类型。对于文本类型输入,它只是 returns undefined.
关于如何使 text/password/textbox 输入类型工作的任何想法?
jQuery 有一个 :visible
选择器和一个 :input
选择器。此外,大多数 jQuery 方法都对整个集合进行操作。 val()
可以直接使用而不是循环遍历集合。
currentForm.find(':input:visible').val('');
文本框输入的标签名称为 "textarea"。不确定为什么其他文本类型不起作用。你试过了吗:
childs[i].values = '';
?
所以我试图遍历表单中的所有可见输入,并将它们的值设置为空。
这是可重复使用的代码,所以我不能只使用标签名称来获取表单实例。
目前我有:
// 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('');
}
}
我的行为非常奇怪。它似乎适用于隐藏类型的输入,但不适用于其他任何类型。对于文本类型输入,它只是 returns undefined.
关于如何使 text/password/textbox 输入类型工作的任何想法?
jQuery 有一个 :visible
选择器和一个 :input
选择器。此外,大多数 jQuery 方法都对整个集合进行操作。 val()
可以直接使用而不是循环遍历集合。
currentForm.find(':input:visible').val('');
文本框输入的标签名称为 "textarea"。不确定为什么其他文本类型不起作用。你试过了吗:
childs[i].values = '';
?