10

所以我有这个字段我想隐藏在我的表单中。

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

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

我怎么仍然看到输入字段..

我究竟做错了什么?

4

3 回答 3

26

我猜你误读了文档。 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/

于 2013-10-06T19:51:27.820 回答
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 的建议。

于 2014-05-08T21:14:58.117 回答
0

尝试在 cakephp 3 中使用以下代码设置隐藏字段

<?php
        echo $this->Form->hidden('name');
 ?>
于 2016-05-21T10:22:23.373 回答