php - 即使未选中,也使复选框出现在 $_POST 数组中

标签 php html forms

我在 HTML 表格中有一张发票。您选择项目名称,然后选择项目批处理和项目编号。最后有一个复选框来标记它是否已售罄。

<input type="checkbox" name="soldout[]">

当我处理表单时,$_POST 复选框数组显然不包含未选中的框。这导致我在将复选框与项目匹配时遇到问题

foreach($productID as $key=>$id){
    $p = $id;
    if(isset($soldout[$key])){
        $so = true;
    }
}

因此,如果我有三个订单项,并且第一个和最后一个标记为已售罄,它会处理为前 2 个已售完,最后一个未售完。

我觉得我做不到:

<input type="checkbox" name="soldout[<?php echo $i; ?>]">

因为我在需要时使用 javascript 添加空发票行并且不知道如何递增数组键。

关于如何处理这个问题有什么想法吗?

最佳答案

当你使用 JS 增加数组时,只需将名称更改为 soldout_new,然后增加一个变量。

像这样:

var soldout_new = 0;

function add()
{
'<input type="checkbox" name="soldout_new[' + soldout_new + ']">';

soldout_new += 1;
}

或者您也可以将变量设置为来自 php 的 id:

var soldout = <?php echo $i; ?>;

function add()
{
'<input type="checkbox" name="soldout[' + soldout + ']">';

soldout += 1;
}

关于php - 即使未选中,也使复选框出现在 $_POST 数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15149263/

相关文章:

javascript - 如何使用 LatLng 数据放大 LatLngBounds 框

Android 浏览器只加载一条 Facebook 评论

javascript - 如何禁用/启用表单或多个表单元素之间的选择选项?

php - Doctrine CLI 不起作用

php - 如何在 jQuery 的一个变量中添加两个serializeArray()?

php - 在 CakePHP 2 中不使用外键添加关联值

ruby-on-rails - 在 Rails 中通过 has_many 连接表

php - Laradock 单元测试数据库错误 PDOException

JavaScript 不工作,经典 asp,HTML

php - 从表单发布多维数组