看document.forms['myForm']
。这是一个HTMLFormElement
包含标准元素属性的对象,以及一些与表单相关的额外方法和属性。
它还充当包含表单中输入元素的零索引数组。
这是您可以利用它的一种方法的演示。
var f = document.forms['myForm'];
for (var i = 0; i < f.length; i++) {
console.log(f[i].type.match(/checkbox|radio/) ? f[i].checked : f[i].value);
//do something with the element's value
}
根据元素的类型,您可能需要使用除value
or以外的其他方式获取值checked
。
编辑:正如评论中提到的,我不知道一个本机函数会做你想做的事,所以不要害怕编写你自己的函数。
下面是一个在数组中返回表单元素值的函数的演示。
function getFormValues(form) {
var ret = [ ];
for (var i = 0; i < form.length; i++) {
switch (form[i].type) {
case 'checkbox':
case 'radio':
ret.push(form[i].checked);
break;
default:
ret.push(form[i].value);
break;
}
}
return ret;
}
window.onload = function() {
document.getElementsByTagName('button')[0].onclick = function() {
console.log(getFormValues(document.forms['myForm']));
};
};
我开始让它以关联数组(实际上是一个对象)的形式返回值,但我意识到如果你需要它,你不妨首先按名称选择它们。