如何从三种形式之一获取所有复选框?

时间:2016-04-20 14:03:10

标签: javascript forms checkbox

我有三个表单,每个表单都有复选框和提交按钮。我需要通过单击此表单中的提交按钮来获取所有复选框名称或ID。 还有其他两个。

$importPath = "todays_changes.txt"
$pattern = "customfield_11301(.*)customfield_10730"

$string = Get-Content $importPath
$result = [regex]::match($string, $pattern).Groups[1].Value
$result

我的复选框示例

function getCheckedBoxes(item) {
    var checkboxes = document.getElementsByName(item);
    var checkboxesChecked = [];
    // loop over them all
    for (var i=0; i<checkboxes.length; i++) {
        // And stick the checked ones onto an array...
        if (checkboxes[i].checked) {
            checkboxesChecked.push(checkboxes[i]);
        }
    }
    // Return the array if it is non-empty, or null
    console.log(checkboxes);
    return checkboxesChecked.length > 0 ? checkboxesChecked : null;
}

var inp = document.getElementsByName('send');
for(var i = 0; i < inp.length; i++){
    inp[i].addEventListener('click', function(e) {
        getCheckedBoxes("item");
        e.preventDefault();
    });
}

2 个答案:

答案 0 :(得分:0)

要选择您可以使用的页面上的所有checbox:

var checkboxes = document.querySelectorAll("input[type=checkbox]");

// And for all checkboxes in a form:
var checkboxesInForm = form.querySelectorAll("input[type=checkbox]");

有关文档,请参阅https://developer.mozilla.org/nl/docs/Web/API/Document/querySelectorAll

这会回答你的问题吗?

答案 1 :(得分:0)

您可以将表单作为参数传递给函数,然后使用querySelectorAll获取具有所需名称的所有输入。

首先,将事件处理程序更改为:

inp[i].addEventListener('click', function(e) {
    getCheckedBoxes(this.form, "item");
    e.preventDefault();
});

然后函数本身:

function getCheckedBoxes(oForm, item) {
    var checkboxes = oForm.querySelectorAll('input[name="' + item + '"]');
    //...
}