所以我有这个字段,我想在我的表单中隐藏。
为此,我尝试了以下方法:
<?php echo $this->Form->input('group_id', array('hiddenField' => true, 'value'=> 2)); ?>
我也试过:
<?php echo $this->Form->input('group_id', array('options' => array('hiddenField'=> 'true'), 'value'=>2 )); ?>
我怎么还看到输入字段..
我做错了什么?
我假设你误读了文档。 hiddenField
是启用/禁用特定表单字段的特定隐藏字段。
你要么在寻找
$this->Form->hidden('group_id')
或
$this->Form->input('group_id', ['type' => 'hidden']);
我通常只使用后者。
请参阅 http://book.cakephp.org/2.0/en/core-libraries/helpers/form.html
但是 - 也就是说 - 你实际上不应该使用其中任何一个。并省略任何对视图及其形式没有实际用途的字段。相反,您应该在保存之前将这些字段注入数据数组。见 http://www.dereuromark.de/2010/06/23/working-with-forms/
如果您希望添加一个隐藏字段,该字段使用默认情况下不会通过 post 传递或放置的相关第二个数据数组,您可以使用它来传递它:
echo $this->Form->hidden('Group.name');
这对于在帖子或放置遇到错误时回显编辑页面标题很有用。设置表单时,动态标题可能会丢失Group.name
数据数组,如下所示:
<h1>Edit Group - <?php echo h($this->request->data['Group']['name']); ?></h1>
但是,对于要保存到数据库的数据,请遵循上面的 Mark 建议。
尝试按照 cakephp 3 中的代码设置隐藏字段
<?php
echo $this->Form->hidden('name');
?>