2011-03-23 148 views
1

我以爲我可以只使用下面的「價值」,但似乎並不奏效。預先感謝您的幫助。如何在CakePHP的輸入字段中設置默認值?

<?php 
       echo $this->Form->create('Email', array('url'=>'/emails/add', 'value'=>'enter your email address', 'inputDefaults'=>array('label'=>false))); 
       echo $this->Form->input('Email.email'); 
       echo $this->Form->end('SIGN-UP'); 
      ?> 

我想在我的控制器(TY @Jared)的設置,但它似乎並沒有工作。關於我在做什麼錯的想法?

<?php 
class EmailsController extends AppController { 

    var $name = 'Emails'; 

    function beforeFilter() { 
     parent::beforeFilter(); 
     $this->Auth->allowedActions = array('add'); 
    } 


function create() { 
    $this->data['Email']['email'] = 'enter your email address'; 
} 
} 
+0

如果你的意思是你要的初始值設置爲你的表單輸入時加載@blivet的解決方案是一個符合標準的CakePHP我 – JohnP 2011-03-24 05:17:01

回答

11

你設置錯了地方的價值。你要設置的輸入元素的這樣的默認值:

echo $form->input('email',array('default'=>'enter your email address')); 

this page in the manual

+0

+1這是要走的路 – JohnP 2011-03-24 05:16:24

+0

我是noob - TYVM!我應該有RTFM。 ;)老實說,我以爲我嘗試過,但無法實現它 - 我應該知道它很容易,並希望它會是! /呃在我身上 – Dave 2011-03-24 05:39:44

+0

只需要小小的一點,如果你想設置一個複選框的默認值添加爲選中添加「checked」=>「checked」到選項數組。 – 2011-09-26 01:05:28

0

使用控制器設置默認值。它可以防止可能發生的任何問題,你會得到默認的返回值,而不是預期的用戶輸入值:

class ProjectsController extends AppController 
{ 
    function create() 
    { 
    $this->data['Project']['name'] = 'Default Project Name'; 
    } 
} 

上看到:Snook.ca

+0

欣賞的答案,@Jared - 我相信這是正確的,但我不能讓它正確工作 - 對我在做什麼錯誤的想法? (添加了一些代碼來提問) – Dave 2011-03-23 19:56:46

+0

我希望我能有更多的幫助,但我的蛋糕PHP是有限的。我已經幫助實施了另一個項目......我自己是一名Ruby on Rails人員。 – Jared 2011-03-23 20:05:23

相關問題