当所有字段都具有唯一id时,我如何知道复选框是否被选中

How can I know if the checkbox is checked when all the fields have unique id?

本文关键字:复选框 何知道 是否 字段 唯一 id      更新时间:2023-09-26

要知道复选框是否已被选中,我一直在调用这个函数。(当用户点击提交按钮时) 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" />

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

给每个复选框相同的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");
        }
    }
}

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

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