Zend framework Zend_Form_元素要求每个元素都有一个名称

Zend framework Zend_Form_元素要求每个元素都有一个名称,zend-framework,zend-form,Zend Framework,Zend Form,我试图在ZF1中创建一个表单。这是我的表单类 class Application_Form_Album extends Zend_Form { public function init() { $this->setName('album'); #artist $artist = new Zend_Form_Element_Text('artist'); $artist->setLabel('Arti

我试图在ZF1中创建一个表单。这是我的表单类

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;?>

不确定我遗漏了什么。有人能帮我吗?

您应该为每个表单元素指定一个
名称。缺少提交的名称。Zend表单从给定名称生成
id
name
html标记 例如:

$submit = new Zend_Form_Element_Submit('submitbutton');
移除

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

行。

谢谢。它现在正在工作。但是当我删除
addElements()
很抱歉,您应该删除
$submit->setAttribute('id','submitbutton')行。谢谢。编辑了您答案中的更改@HaykManasyan
$submit->setAttribute('id','submitbutton');