【发布时间】:2014-05-20 12:01:35
【问题描述】:
<?php
// $groups is fetch_array from mysql
foreach($groups as $group) {
if ($group['delete_user'] === 'Y') {
$checked = "checked=\"checked\";
}
else {
$checked = '';
}
?>
<input type = "checkbox" name="delete_user[<?php echo $group['id']; ?>]" <?php echo $checked; ?>>
<?php
}
?>
将输出:
<form action="test.php" method="post">
<input type="checkbox" name="delete_user[1]">
<input type="checkbox" name="delete_user[2]">
<input type="checkbox" name="delete_user[3]">
<input type="checkbox" name="delete_user[4]" checked="checked">
<input type="submit" name="save_action" value="Save">
</form>
当我根据需要检查输入时,这将处理输入。
<?php
if(isset($_POST['save_action']) {
if (empty($_POST['delete_user'])) {
$_POST['delete_user'] = array();
}
foreach($_POST['delete_user'] as $del) {
is_checked($del); //@todo
}
}
?>
我正在寻找方法来检查复选框是否被选中并返回正确的值( Y 或 N )。为此,我声明了 is_checked() 函数。
【问题讨论】:
-
$_POST['delete_user'] 将仅包含已检查的内容。
-
好吧,按照 HTML 表单的工作原理,它只会 POST 被选中的复选框的值。