使用CakePHP的表单助手生成复选框很容易;使用从文档的例子: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总是enum字段的合法值;它显示为空字符串。
我可以更改隐藏字段的值CakePHP的生成(为“否”),或者我需要打压自动生成并创建隐藏字段自己? (与复选框的数量一起增长的烦恼。)
我相信这一切都适用于单选按钮组,—至少如果他们没有默认选择。
我正在使用CakePHP 1.3。谢谢。
+1非常丰富,谢谢。 – eaj 2011-03-18 17:15:27
非常丰富的 – Vineet 2015-11-24 10:35:57