我正在尝试使用Zend_Form
添加jQuery datepicker。但它给出了两个警告和一个错误。
我的示例代码:
$startdate = new ZendX_JQuery_Form_Element_DatePicker( 'startdate' );
$startdate->setLabel('Start Date')
->setRequired(true)
->setAttrib('size', '10')
->setDecorators($formJQueryElements);
错误: 警告:include_once(ZendX / JQuery / Form / Element / DatePicker.php)[function.include-once]:无法打开流:/usr/local/ZendFramework/library/Zend/Loader.php中没有此类文件或目录第146行
警告:include_once()[function.include]:无法打开'ZendX / JQuery / Form / Element / DatePicker.php'(include_path ='/ opt / lampp / htdocs / framework / students / application / .. / library:/ opt / lampp / htdocs / framework / students / library:include_path =。:/ usr / share / php:/ usr / local / ZendFramework / library')/ usr / local / ZendFramework / library / Zend / Loader第146行的.php
致命错误:第46行的/opt/lampp/htdocs/framework/students/application/forms/Student.php中找不到类'ZendX_JQuery_Form_Element_DatePicker'
答案 0 :(得分:4)
ZendX是一个额外的库,未包含在Zend Framework的所有发行版中。确保您已从标题中完整的Zend Framework Download Page其中一个发行版下载。
提取压缩文件后,您会在文件夹ZendX
中找到extras/library/ZendX
库,将ZendX
文件夹复制到您保存当前Zend
文件夹的位置(不在Zend文件夹),
在我的情况下,我将Zend Framework Library保存在:C:\Zend\ZendServer\share\ZendFramework\library
。所以我在这个位置Zend
和ZendX
有两个文件夹。
Zend
和ZendX
都有自动加载器中的默认命名空间,因此如果将它们存储在同一个位置,如果一个工作则另一个工作。
或者......将两者都放在您的应用程序库中,如:
/application
/library
/Zend
/ZendX
这也可以。
答案 1 :(得分:1)
您使用ZendX_JQuery_Form_Element_DatePicker有什么特别的原因吗?我正在使用jquery datepicker(来自jquery ui包)和一个像这样的普通Zend Form Text元素。
// Add start_date element
$start_date = new Zend_Form_Element_Text('start_date');
$start_date->setLabel('Start Date')
->setRequired(true)
->setAttrib('class', 'datepicker')
->setDecorators($this->elementDecorators);
$this->addElement($start_date);
添加'datepicker'类就是我们真正需要的。这可以回避您遇到的问题 - 这似乎与使用ZendX库有关。
答案 2 :(得分:0)
我不太了解Zend框架,但是,Zend Framework是PHP意味着的服务器端技术,而Jquery是客户端技术。换句话说,Jquery日期选择器工作和Zend Framework之间没有直接关系。
您必须检查页面的HTML输出,包括使用日期选择器的表单元素以及页面中的Javascript包含文件。只需查看浏览器中的页面源代码,搜索缺少的内容。