我试图以这种方式填充POST复选框
foreach ($chk as $key => $value) {
if (isset($_POST[$key])) $chk[$key][$_POST[$key]] = 'checked="checked"';
}
但由于某些原因,不会为以下复选框填充它们
<input type="checkbox" name="chk[]" value="A" />A
<input type="checkbox" name="chk[]" value="B" />B
<input type="checkbox" name="chk[]" value="C" />C
任何帮助都会受到赞赏。
答案 0 :(得分:2)
复选框不会通过魔法填充自己,你必须在那里插入checked =“checked”。我认为你事先填充数据并不好,这通常是最简单的方法:
<input type="checkbox" name="chk[]" value="A" <?php if(isset($_POST['chk']['A'])) echo 'checked="checked"'; ?>/>A
<input type="checkbox" name="chk[]" value="B" <?php if(isset($_POST['chk']['B'])) echo 'checked="checked"'; ?>/>B
<input type="checkbox" name="chk[]" value="C" <?php if(isset($_POST['chk']['C'])) echo 'checked="checked"'; ?>/>C
答案 1 :(得分:1)
浏览器不关心您是否在脚本中预先填充了一些PHP变量:它只看到生成的HTML。您需要将“checked ='checked'”直接写入HTML输出。