概述:
这是html页面上的样子。
因此每行复选框都有不同的名称,例如name="doctor_0[]"
,它会递增每一行。因此,下一行将是name="doctor_1[]"
,其对应的默认值为0
因此,在眼睛友好的代码视图中,它将是
// First row
<td><input type="checkbox" name="doctor_0[]" class="day_cbox" value="0"></td>
<td><input type="checkbox" name="doctor_0[]" class="day_cbox" value="0"></td>
// Second row
<td><input type="checkbox" name="doctor_1[]" class="day_cbox" value="0"></td>
<td><input type="checkbox" name="doctor_1[]" class="day_cbox" value="0"></td>
依旧......
现在进入问题
我的问题是,如果未选中该复选框,则数据不会传递到$_POST
。
我知道通常它不会那样工作,所以不太好的替代方法是创建hidden
的输入字段,以便在未选中复选框时获取值。但问题是,这是一个阵列。
我已经尝试了几个解决方案,这些解决方案在我的问题中与下面的相似,但它不会那样工作。好吧,它不是动态或使用数组。如果我错了,请纠正我,我对此不好。
那么,这些东西有什么解决方案吗?
帮助或建议或建议会很好。
感谢。
与此类似的问题。
Get values of unchecked checkboxes
Post the checkboxes that are unchecked
How get value for unchecked checkbox in checkbox elements when form posted?
答案 0 :(得分:0)
感谢在我的问题的评论部分帮助过我的人。
这是我的代码的最终版本。
所以我正常做while loop
以使用mysql
检索数据。好吧,不要生我的气,我被分配到某个公司多年的网络应用程序。
无论如何,我用@ Bad_boy的逻辑来解决这个问题。
我的旧代码是,
注意: $ctr
是每行的增量值y。
echo '
<td>
<input type="checkbox" name="doctor_'. $ctr .'[]" class="day_cbox" value="1">
</td>
';
tada!我不擅长解释它是如何工作的但是,它有效!哈哈哈哈!谢谢!
while ($result = mysql_fetch_array($row)) {
echo '
<tr class="row-doctor">
<td align="center">'. ucwords(strtolower($result['doctor_name'])) .'</td>
';
for ($i = 1; $i <= 25; $i++) {
echo '
<td>
<input type="hidden" name="doctor_'. $ctr .'['. $i .']" value="0">
<input type="checkbox" name="doctor_'. $ctr .'['. $i .']" class="day_cbox" value="1">
</td>
';
}
echo '
<td align="center" class="blue strong"><span class="frequency_'. $ctr .'">0</span></td>
</tr>
';
$ctr++;
}