所以我有这个领域我想隐藏在我的形式中。
为此,我尝试了以下方法:
<?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 )); ?>
我怎么还看到输入字段..
我做错了什么?
答案 0 :(得分:24)
我认为你误读了文档。
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/
答案 1 :(得分:0)
如果您要添加隐藏字段,该字段使用相关的第二个数据数组,默认情况下不会通过post或put传递,您可以使用它来传递它:
echo $this->Form->hidden('Group.name');
当post或put遇到错误时,这对于回显编辑页面标题很有用。设置表单后,动态标题可能会丢失Group.name
数据数组:
<h1>Edit Group - <?php echo h($this->request->data['Group']['name']); ?></h1>
对于要保存到db的数据,请遵循Mark的建议。
答案 2 :(得分:0)
尝试使用cakephp 3中的代码来设置隐藏字段
<?php
echo $this->Form->hidden('name');
?>