使用jQuery的Zend Framework灵活的表单元素

时间:2012-05-22 14:34:58

标签: jquery forms zend-framework

我是Zend Framework的新手,我开始明白它的要点,但是我又遇到了一个问题。我想创建一个表单,用户可以上传文件。

现在的想法是,当用户首次访问带有表单的页面时,他/她将只看到一个表单元素,其中包含要上传文件的文件,而下面是一个按钮,用于添加其他文件,因此添加了一个元素形式。

我一直在环顾四周,并建议尝试使用JQuery,此时可能会提到我从未使用过JQuery,更不用说与Zend Framework结合了。

我已将ZendX库添加到我有Zend文件夹的同一文件夹中,如此

/Zend Framework
 /library
  /Zend
  /ZendX

我当然在php.ini中的include_path变量中包含了库文件夹。 根据我可以制作Zend Refference指南,我需要将以下内容添加到我的Bootstrap中。

public function _initJQuery() {
    $view = new Zend_View();
    $view->addHelperPath("ZendX/JQuery/View/Helper", "ZendX_JQuery_View_Helper");
    $viewRenderer = new Zend_Controller_Action_Helper_ViewRenderer();
    $viewRenderer->setView($view);
    Zend_Controller_Action_HelperBroker::addHelper($viewRenderer);
}

完成后,我在我的内容模块中构建了以下Jquery表单。

<?php
class Content_Form_JQueryForm extends ZendX_JQuery_Form
{
    public function init()
    {
        $this->setMethod('post');
        $this->setName('frm');
        $this->setAction('content/index/add');

        $date1 = new ZendX_JQuery_Form_Element_DatePicker(
                'date1',
                array('label' => 'Date:')
             );

        $this->addElement($date1);

        $elem = new ZendX_JQuery_Form_Element_Spinner(
                "spinner1", 
                array('label' => 'Spinner:')
        );

        $elem->setJQueryParams(array('min' => 0, 'max' => 1000, 'start' => 100));
        $this->addElement($elem);
    }
}

然后在控制器中我只需创建表单并将其分配给视图

public function indexAction() {
    $form = new Content_Form_JQueryForm();
        $this->view->form = $form;
}

当然,在相应的视图中,我回应了表格

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

当我运行应用程序时,我收到以下错误消息

致命错误:第10行的C:\ wamp \ www \ ZendProject \ application \ modules \ content \ controllers \ CategoryController.php中找不到类'Content_Form_JQueryForm'

我对自己做错了什么一无所知,如果有人能帮助我,我真的很感激。

1 个答案:

答案 0 :(得分:0)

最后,我在本教程中标记了http://www.jeremykendall.net/2009/01/19/dynamically-adding-elements-to-zend-form/

它帮助了解了Zend中表单的工作方式。