2011-03-23 10 views
1

아래의 "value"를 사용할 수 있다고 생각했지만 작동하지 않는 것 같습니다. 모든 도움을 미리 감사드립니다. 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'); 
      ?> 

나는 내 컨트롤러 (타이 @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

답변

11

당신은 잘못된 장소에서 값을 설정하고 있습니다. this page in the manual에서

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

봐 :이 같은 입력 요소의 기본 값을 설정합니다.

+0

+1 이것이 갈 방법입니다 – JohnP

+0

저는 멍청 해요 - TYVM! 나는 RTFM을 가져야한다. ;) 솔직히, 나는 그것을 시도했다라고 생각했다. 그러나 그것이 작용할 수 없었다 - 나는 그것이 쉽다라는 것을 알고 있어야했다. 그리고 그것이있을 것이기를 바라고 있었다!/우우 나 – Dave

+0

체크 박스에 대한 기본값을 설정하려면 체크 표시를 추가하려면 "checked"=> "checked"를 옵션 배열에 추가하십시오. –

0

컨트롤러를 사용하여 기본값을 설정하십시오. 그것은 일어날 수있는 문제를 방지하고 당신은 당신의 기본 값이 아닌 의도 된 사용자 입력 값을 반환받을 :

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

에서 볼 수 있듯이 : Snook.ca

+0

과 일치하는 것입니다. 답변을 주셔서 감사합니다. @ Jared - 맞지만, 얻을 수 없습니다. 그것은 올바르게 작동합니다 - 내가 잘못하고있는 것에 대한 생각? (질문에 몇 가지 코드 추가) – Dave

+0

더 많은 도움이 될 수 있으면 좋겠지 만 제 케이크 PHP는 제한적입니다. 나는 이것을 다른 프로젝트를 위해 구현하는 것을 도왔다. 나는 Ruby on Rails 녀석이다. – Jared

관련 문제