如果所有字段都具有唯一ID,我如何知道是否选中了复选框?

时间:2014-05-08 18:24:05

标签: javascript html checkbox

要知道是否已选中复选框,我一直在调用此功能。 (当用户点击提交按钮时) delete_checkbox是正在检查的复选框字段的id

function ifChecked() {
   if(!document.getElementById("delete_checkbox").checked) 
        alert("Select the tweet!");
}

如何动态生成复选框的id?例如:

<input type="checkbox" id="1" />
<input type="checkbox" id="78" />

对于上述两个字段,当用户点击submit按钮时,如何修改上述功能?

2 个答案:

答案 0 :(得分:1)

为每个复选框指定相同的name<form>标记作为名为elements的属性,可让您访问表单中的所有字段。

<form ... onsubmit="foo(event, this);">
    <input type="checkbox" name="delete_me" id="1">
    <input type="checkbox" name="delete_me" id="2">
    <input type="checkbox" name="delete_me" id="3">

    <button type="submit">Submit</button>
</form>

然后是一些JavaScript:

function foo(event, form) {
    event.preventDefault(); // keep form from submitting

    var deleteCheckboxes = form.elements.delete_me;

    for (var i = 0; i < deleteCheckboxes.length; i++) {
        if (deleteCheckboxes[i].checked) {
            console.log(deleteCheckboxes[i].id + " is checked");
        }
    }
}

答案 1 :(得分:0)

如果您想知道是否有任何未选中的复选框:

if (document.querySelectorAll("input[type=checkbox]:not(:checked)").length > 0) {
    alert("Please select all the tweets!");
}