2014-12-11 2 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. Zend Form генерировать id и name HTML-теги из данного имени Например:

$submit = new Zend_Form_Element_Submit('submitbutton'); 

и удалить

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

линии.

+0

Thank you.It работает сейчас. Но я получаю пустую страницу, когда я удаляю 'addElements()' –

+0

Извините, вы должны удалить '$ submit-> setAttribute ('id', 'submitbutton');' линия. Благодарю. –

+0

Отредактировано изменение в вашем ответе @HaykManasyan – Iznogood

Смежные вопросы