2013-10-06 452 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'); 
?>