2013-10-06 260 views
7

所以我有这个字段,我想保持隐藏在我的表单。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)); ?> 

如何过我仍然可以看到输入字段..

我在做什么错?

回答

19

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

+0

请加“)”在年底之前设置隐藏字段“;”,在或之后的第二个代码行。 –

+0

Thx,使用PHP5.4'[]':)修复它 – mark

0

如果您正在寻找添加使用,不会通过邮寄传递或默认把相关的第二数据阵列中的隐藏字段,你可以用它来传递:

echo $this->Form->hidden('Group.name'); 

这对于在帖子或放置遇到错误时回显编辑页面标题非常有用。当您的形式建立一个动态的标题可能会丢失数据Group.name阵列像这样:

<h1>Edit Group - <?php echo h($this->request->data['Group']['name']); ?></h1> 

对于要保存然而分贝,按照上面马克的建议数据。

CakePHP中3
0

尝试下面的代码

<?php 
     echo $this->Form->hidden('name'); 
?>