2011-03-23 169 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

相关问题