请检查以下代码, 问题是测试操作中没有显示任何表单元素 无法找到
Test.php - >表单类
class Application_Form_Test extends Zend_Form
{
public $T_FILEUP;
public $T_SUBMIT;
/*function init
* initialise all the elements
* */
public function _init()
{
$this->T_FILEUP=new Zend_Form_Element_Text('image');
//$this->T_FILEUP->setDestination(UPLOADS);
$this->T_SUBMIT=new Zend_Form_Element_Submit('add');
}
/*function to generate a form for specific function
* */
public function generateForm()
{
return $this->addElements(array($this->T_FILEUP,$this->T_SUBMIT));
}
}
public function testAction()
{
$objForm=new Application_Form_Test();
$forms=$objForm->generateForm();
$this->view->form=$forms;
}
test.phtml
<?php
//echo $this->nm;
echo $this->form->image;
?>
答案 0 :(得分:2)
钩子的函数名称错误(没有“_”):
使用:
public function init()
{
$this->T_FILEUP=new Zend_Form_Element_Text('image');
//$this->T_FILEUP->setDestination(UPLOADS);
$this->T_SUBMIT=new Zend_Form_Element_Submit('add');
}
答案 1 :(得分:1)
未生成,因为_init()
方法未被执行。我相信你想使用init()
而不是_init()
。
答案 2 :(得分:0)
只是为了澄清,因为我遇到了同样的问题。
<强> bootstrap.php中强>
_initXXXXX()
控制器和表单
init()
微妙的区别,但如果你没有抓住它,它会让你把头撞在墙上。