我正在尝试做一个通用的“检查空”javascript函数。我想我会做的是的onsubmit获得形式的input
箱子的数量,并把它的长度,像这样:Javascript - 从表单获取输入数组
我没有通过this.name
通过表单名称进入功能,称之为formVar
var len = formVar.input[].value;
然后,我会使用该变量作为循环的限制,以便我可以检查每一个,看看它是否为空。上面的代码片段有什么问题?有没有办法在表单中获得大量输入?
我正在尝试做一个通用的“检查空”javascript函数。我想我会做的是的onsubmit获得形式的input
箱子的数量,并把它的长度,像这样:Javascript - 从表单获取输入数组
我没有通过this.name
通过表单名称进入功能,称之为formVar
var len = formVar.input[].value;
然后,我会使用该变量作为循环的限制,以便我可以检查每一个,看看它是否为空。上面的代码片段有什么问题?有没有办法在表单中获得大量输入?
input[]
不是在JavaScript中有效的标识符,所以你需要访问这些输入作为您的窗体上的字符串索引:
var allInputs = formVar["input[]"];
var len = allInputs.length;
var anyChecked = false;
for (var i = 0; i < len; i++)
if (allInputs[i].checked){
anyChecked = true;
break;
}
if (!anyChecked)
alert("all checkboxes are empty!");
您可以使用下面的图输出表单中输入元素的数量:
document.forms['search'].getElementsByTagName('input').length
这假定您有一个名为search的表单。或者你可以用你的formVar
来代替dcoument.forms['search']
部分
不错!我猜'input []'返回一个填充'formVar'数组的数字?我不太明白这是如何工作的:S – 2012-01-12 05:59:43
'formVar [“input []”]'返回一个dom元素的集合。在这种情况下,那些名称为“input []”的输入 – 2012-01-12 06:03:47