を見てくださいdocument.forms['myForm']
。これはHTMLFormElement
、標準の要素プロパティと、フォームに関連する追加のメソッドとプロパティを含むオブジェクトです。
また、フォーム内の入力要素を含むゼロ インデックスの配列としても機能します。
これは、これを利用できる 1 つの方法のデモンストレーションです。
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']));
};
};
連想配列 (実際にはオブジェクト) として値を返すようにし始めましたが、それが必要な場合は、最初に名前で選択する方がよいことに気付きました。