【问题标题】:Php submit form checkbox with checked box带复选框的 PHP 提交表单复选框
【发布时间】:2019-10-30 09:22:59
【问题描述】:

我有一个数据库,其中读取了所有信息提交我只看到“已检查”...其他没有..

$c_row = current($row);

if ($y > 1) {
    echo "<form name=salvo method=post action='dettaglio.php?tipo=1'>";

    $id = substr($c_row,0,strpos($c_row, '|'));
    $stato = substr($c_row,strpos($c_row, '|')+1,1);

    echo "<td class='tg-dett' align=center>";

    if ($stato == 1) {
        echo "<input type='checkbox' name='chkColor[]' value='$c_row' checked>";
    } else {
        echo "<input type='checkbox' name='chkColor[]' value='$c_row' >";
    }

    echo "</td>";

    for($i = 0; $i < count($_POST["chkColor"]); $i++)
    {
        if(trim($_POST["chkColor"][$i]) != "") {
            echo "chkColor $i = ".$_POST["chkColor"][$i]."<br>";
        }
    }
}

仅检查输出,如果有人删除检查,则不会输出

【问题讨论】:

  • 复选框仅成为表单提交数据集的一部分,如果它们被选中 - 未选中的复选框首先不会在该名称下创建参数。 按设计工作。如果您需要显示选项列表,无论是否在先前提交的表单上选中了相应的框 - 那么您需要在代码中的某个位置拥有该完整列表。您可以使用提交的表单值来确定仅需要将哪些显示为预先检查。

标签: php arrays post checkbox checked


【解决方案1】:

您可以在将其发布为空或未设置后检查值。或者你可以像这样使用隐藏的输入技巧:

<input type='hidden' name='chkColor[' . $row["id"] . ']' value='0'><input type='checkbox' name='chkColor[' . $row["id"] . ']' checked>

这样它会发布所有的盒子,但会添加一个不同的值来确定哪些是打开的,哪些是不打开的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-03
    • 2012-02-29
    • 2012-05-23
    • 1970-01-01
    相关资源
    最近更新 更多