Cakephp隐藏输入字段

时间:2013-10-06 19:46:22

标签: php cakephp

所以我有这个领域我想隐藏在我的形式中。

为此,我尝试了以下方法:

<?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 )); ?>

我怎么还看到输入字段..

我做错了什么?

3 个答案:

答案 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');
 ?>