JavaScript 确认何时在表单中选择动态 HTML 字段

JavaScript confirm when a dynamic HTML field is selected within a form

我的 PHP 文件以表格形式回显数据查询的结果 -table 以便用户可以编辑记录。 table 最多包含 30 条记录。提交表单时,如果选中了 VoidTag 复选框,我需要用户确认此操作,否则表单可以在没有确认框的情况下提交。我 JavaScript 经验很少,不知道该怎么做。

    <tr>
        <td class="count gridtable">
            <input type="text" class="tableTxt" name="inv[1091][Count]"/>
        </td>
        <td class="count gridtable">
            <input type="text" class="count" name="inv[1091][Notes]" value=""/>
        </td>
        <td class="count gridtable">
            <input type="text" class="tableTxt" name="inv[1091][CountedBy]" value=""/>
        </td>
        <td class="count gridtable">
            <input type="checkbox" class="center" name="inv[1091][VoidTag]"/>
            <input type="hidden" class="center" name="inv[1091][TagNum]"/>
        </td>
    </tr>

另一个问题线程略有不同,但在使用确认对话框方面为您指明了正确的方向:

首先,我假设您在 table 行中有一个围绕所有这些表单元素的表单。 . .您将必须向该表单提供 onsubmit 操作以 return 确认功能的结果:

<form onSubmit="return confirmSubmit(this);">

然后,根据是否存在任何选中的复选框,使用以下函数确认提交:

function confirmSubmit(theForm) {
    if (theForm.querySelectorAll('input:checked').length > 0) {
        return confirm('Do you really want to **insert question criteria here**?')
    }
    else {
        return true;
    }
}

当用户提交表单时,代码将检查表单中是否有任何 "checked" 复选框(我还假设表单中没有其他复选框或单选按钮,在你想在每一行中检查的那些之外)。如果它找到至少一个选中的复选框,它会要求用户确认他们要提交。如果他们选择 "Cancel",它将 return false,停止表单提交。 . .在所有其他情况下,它将 return true,允许继续提交。

如果表单中有 ARE 个其他复选框或单选按钮,则需要更改 .querySelectorAll() 参数以适应这种情况,包括(可能)分配一个需要包含在验证逻辑中的所有复选框通用 class