2012-01-12 18 views
1

私はユニバーサル "Check Empty" JavaScript関数を作成しようとしています。私は私が考えました、フォームでinputボックスの数を取得し、そのようにそれの長さを取るONSUBMITた:Javascript - フォームから入力の配列を取得

は私がthis.nameを経由して関数にフォーム名を渡したとformVar

var len = formVar.input[].value; 
それを呼ばれます

私はその変数をループの制限として使用するので、それぞれをチェックして空であるかどうかを調べることができます。上記のコードスニペットの問題点は何ですか?フォームに多数の入力を得る方法はありますか?

答えて

2

DEMO

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!"); 
+0

ニース!私は 'input []'が 'formVar'配列を生成する数値を返すと思いますか?私はそれがうまくいくかどうかは分かりません:S –

+1

'formVar [" input [] "]'はdom要素のコレクションを返します。この場合、「input []」という名前の入力は、 –

2

あなたがフィギュアに次を使用することができますあなたのフォームの入力要素の数を外してください:

document.forms['search'].getElementsByTagName('input').length 

ここでは、名前付き検索フォームがあるとします。またはformVarを交換してdcoument.forms['search']の部分を使用することができます

関連する問題