首页 > 解决方案 > 从未选中的复选框传递值

问题描述

我在 PHP 和 HTML 中有以下代码

<?php
    $count = 0;
    while ($row = mysqli_fetch_array($result)) {
    ?>
    <tbody>
        <tr>
            <td><input name="tableRow1[<?php $count; ?>]["InvoiceNum"]" id="InvoiceNum" type="text" value="<?php echo $row['InvoiceNum'];?>" ></input> </td>
            <td><input name="tableRow1[<?php $count; ?>]["StoreName"]" id="StoreName" type= "text" value="<?php echo $row['StoreName'];?>" ></input></td>
            <td><input name="tableRow1[<?php $count; ?>]["Driver"]" id="Driver" type= "checkbox" value= "<?php echo $login_session;?>" ></input></td>
        </tr>
        <?php $count++;
                }
        ?>
    </tbody>
        </table>
<?php 
    } 
?>

我有一个数组,它从数据库的 2 列和复选框的 1 个用户输入中获取值。我正在尝试从未选中的复选框传递值,但到目前为止我还没有成功。我也尝试使用<hidden>,但仍然没有成功。

如果有人可以帮助我从复选框中传递选中和未选中的值,我将不胜感激。

标签: phphtmlarrayscheckbox

解决方案


HTML 复选框不能那样工作。您需要传递一个对您有意义的值,例如“1”、“On”或“active”,并使其选中,添加checked属性,如下所示:

<input name="Name" id="ID" type="checkbox" value= "1" checked>

在您的情况下,您需要添加将checked根据您的数据添加属性的代码,例如:

<input name="tableRow1[<?php $count; ?>]["Driver"]" 
    id="Driver" 
    type= "checkbox" 
    value="1" 
    <?php 
      echo "checked" ? !empty($login_session) : "";
    ?>"
>

这将检查它何时$login_session具有某些值(当它不为空时)。


推荐阅读