2011-09-13 14 views
1

私はいくつかのチェックボックスを含むフォームを持っています。このフォームを送信した後は、これらのチェックボックス(値)がjavascript配列に必要です。チェックボックスの値を配列に追加する方法

誰も私に恵まれてくれませんか、どうしたらいいですか?

答えて

3
var form = document.getElementById("yourformname"), 
    inputs = form.getElementsByTagName("input"), 
    arr = []; 

for (var i = 0, max = inputs.length; i < max; i += 1) { 
    // Take only those inputs which are checkbox 
    if (inputs[i].type === "checkbox" && inputs[i].checked) { 
     arr.push(inputs[i].value); 
    } 
} 
+0

をあなたのコードのエラー、最初のvarステートメントの後にセミコロンは「入力」とグローバル変数に「ARR」の参照を行うこと、あります。 –

+0

@Jose Faeti:そうです。どうもありがとう! – user278064

1

はjQueryを使って、あなたはこのような何かを行うことができます:

var checkboxArr=[]; 
$('input[type=checkbox]').each(function(){ 
    checkboxArr.push(this); 
}); 

テストされていないと、これは、純粋なJSに働くだろう多分それは純粋ために右方向

1
var values = [], 
    inputs = document.getElementsByTagName("input"); 

for (var i = inputs.length -1 ; i>= 0; i--) 
    if (inputs[i].type === "checkbox" && inputs[i].checked) 
      values.push(inputs[i].value); 

であなたを指すことができます方法がわかりませんJS。

0

あなたはjsfiddle上で、以下の機能をテストすることができます。

function getCheckboxes(form_id, name) { 
    // returns array of checked checkboxes with 'name' in 'form_id' 
    var form = document.getElementById(form_id); 
    var inputs = form.getElementsByTagName("input"); 
    var values = []; 
    for (var i = 0; i < inputs.length; ++i) { 
     if (inputs[i].type === "checkbox" && 
      inputs[i].name === name && 
      inputs[i].checked) 
     { 
      values.push(inputs[i].value); 
     } 
    } 
    return values; 
} 
関連する問題