【发布时间】:2011-03-18 15:05:51
【问题描述】:
使用 CakePHP 的表单助手来生成一个复选框很容易;使用文档中的示例:
echo $this->Form->checkbox('done',array('value' => 555));
这将产生以下 HTML:
<input type="hidden" name="data[User][done]" value="0" id="UserDone_" />
<input type="checkbox" name="data[User][done]" value="555" id="UserDone" />
这一切都很好,隐藏字段用于强制提交“完成”字段的值,即使该框仍未选中。
现在,为了论证,假设这个字段的数据库定义是ENUM('yes','no')。当然,我可以轻松地将复选框的值更改为“是”。但是,如果未选中,则从隐藏元素提交值“0”。这不会从 mysql 产生错误或警告,因为 0 始终是枚举字段的合法值;它显示为一个空字符串。
我可以更改 CakePHP 生成的隐藏字段的值(改为“否”),还是我需要禁止自动生成并自己创建隐藏字段? (随着复选框的数量而增加的烦恼。)
我相信这一切也适用于单选按钮组——至少在它们没有默认选择的情况下。
我正在使用 CakePHP 1.3。谢谢。
【问题讨论】:
标签: cakephp cakephp-1.3