1

I have a form that contains a couple of checkboxes. After send this form I would need these checkboxes (the values) to a javascript array.

Could anyone give me a favor, please, how to do?

4 Answers 4

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);
   }
}
Sign up to request clarification or add additional context in comments.

1 Comment

There's an error in your code, the semicolon after the first var statement, making 'inputs' and 'arr' references to global variables.
1

with jquery you could do something like this:

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

Untested and not sure how this would work in pure js, maybe it can point you in the right direction

Comments

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);

for pure JS.

Comments

0

You can test the following function on 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;
}

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.