我有一个由一些 bool 值字段组成的数据库,所以在我的html表单中,我将输入类型设置为复选框,并且我想使if selected =“True”,
取消选中=“假”。
我怎样才能存档它?
现在,如果我检查它们,我会看到一个 0,如果我不检查,我什么也看不到。
我尝试放置和隐藏字段并使用它,但没有得到任何结果。
如果您需要代码或打印屏幕来更好地理解问题,请告诉我。 谢谢。
最佳答案
这是复选框输入的默认行为:
- 如果选中该复选框,则发布参数“value”的值
- 如果未选中该复选框,则不发布任何内容
所以,如果你有类似的东西:
<input type="checkbox" value="TRUE" name="my_checkbox" />
在 PHP 中,您可以执行以下操作:
if (isset($_POST["my_checkbox"])) {
echo "checkbox is checked";
} else {
echo "checkbox not checked";
}
如果您绝对想发布某些内容,即使未选中该复选框,正如您所说,您可以使用如下隐藏字段:
<input type="checkbox" value="TRUE" name="my_checkbox_1" />
<input type="hidden" value="my_checkbox_1,my_checkbox_2,my_checkbox_3" name="my_checkboxes" />
隐藏字段“my_checkboxes”将保存表单中所有复选框的所有名称。
然后,您可以获取 $_POST["my_checkboxes"] 的值,拆分它的值(用“,”),然后循环遍历所有复选框:
$checkboxes = explode(",", $_POST['my_checkboxes']);
foreach($checkboxes as $checkbox) {
$checkbox_value = $_POST[$checkbox];
if (isset($checkbox_value)) {
echo "checkbox " . $checkbox . " was checked";
} else {
echo "checkbox " . $checkbox . "wasn't check";
}
}
如果您有一个带有未知数量复选框的动态表单,那么该解决方案会很好。
使用 JavaScript 可以将某些内容发布为“my_checkbox”($_POST['my_checkbox'])(如果选中或未选中,并且具有不同的值)(但我不推荐这样做)。
关于php - Html 表单提交复选框 - 更改 mysql 表中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24214983/