2014-12-11 3 views
1

내가 ZF 1.Here의 내 폼 클래스Zend_Form_Element는 이름

class Application_Form_Album extends Zend_Form 
{ 

    public function init() 
    { 
     $this->setName('album'); 

     #artist 
     $artist = new Zend_Form_Element_Text('artist'); 
     $artist->setLabel('Artist')->setRequired(true)->addValidator('NotEmpty'); 

     #title 
     $title = new Zend_Form_Element_Text('title'); 
     $title->setLabel('Title')->setRequired(true)->addValidator('NotEmpty'); 

     #submit 
     $submit = new Zend_Form_Element_Submit(); 
     $submit->setAttribute('id','submitbutton'); 

     $this->addElements(array($artist,$title,$submit)); 
    } 


} 

에서 양식을 만들려고 내 컨트롤러 액션있어 가지고 각 요소를 필요로

public function addAction() 
{ 
    $form = new Application_Form_Album(); 
    $form->submit->setLabel('Add'); 
    $this->view->form = $form; 
} 

내 add.phtml

<?php echo $this->form;?> 

하지만이 오류가 발생합니다.

Message: Zend_Form_Element requires each element to have a name 

내가 무엇을 놓쳤는 지 잘 모르는 사람?

답변

1

각 양식 요소에 name을 제공해야합니다. 제출 이름이 없습니다.

$submit = new Zend_Form_Element_Submit('submitbutton'); 

그리고

$submit->setAttribute('id','submitbutton'); 

줄을 제거 : 젠드 양식은 예를 들어 주어진 이름 에서 idname html 태그를 생성합니다.

+0

감사합니다. 지금은 작동합니다.하지만 addElements()를 제거하면 빈 페이지가 나타납니다. –

+0

죄송합니다. $ submit-> setAttribute ('id', 'submitbutton'); 선. 감사. –

+0

답장 변경 사항 @HaykManasyan – Iznogood