【问题标题】:How to keep checkbox array checked after form submission表单提交后如何保持复选框数组处于选中状态
【发布时间】:2019-08-22 13:15:05
【问题描述】:

我有以下代码来显示动态复选框。

while($result = mysqli_fetch_array($query)){
    $oaName = $result['oaName'];
    echo '<input class="checkBoxes" type="checkbox" name="checkBoxArray[]" value="'.$oaName.'" style="float:left;"'; ?> <?php if(isset($_POST['checkBoxArray'])) echo "checked='checked'"; ?> <?php echo '>'; ?>
}

我只想保留那些我在提交表单后选中的复选框的状态。但是使用上述代码,所有复选框在表单提交后都显示为选中状态。有谁知道我在这里做错了什么?

编辑 1

checkBoxArray[] 是从数据库中获取的复选框名称

【问题讨论】:

  • 因为你在检查issetcheckBoxArray,如果它找到checkBoxArray那么它会检查所有的复选框
  • 那我应该检查哪一个 isset?
  • $_POST['checkBoxArray'] 中有什么内容?
  • 这些是从数据库调用的复选框名称
  • 复选框的帖子名称

标签: php html checkbox


【解决方案1】:

经过几次试验,我可以通过以下方式完成它。这里的关键是in_array的使用

while($result = mysqli_fetch_array($query)){
    $oaName = $result['oaName'];
    echo '<div class = "checkbox-group" required ><input class="checkBoxes" type="checkbox" name="checkBoxArray[]" value="'.$oaName.'" style="float:left;"'; ?> <?php if(in_array($oaName,$_POST['checkBoxArray'])) echo "checked='checked'"; ?> <?php echo '></div>
}

【讨论】:

  • 这也将有所帮助:您需要将 checkStatus 存储在数据库中,以便在提交后检索数据时可以检查该状态,如果 checkStatus == true || checkStatus == yes 然后检查 else not
  • 感谢@PathikVejani 付出的时间和精力
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-10-06
  • 2019-09-12
相关资源
最近更新 更多