我在ajax请求上加载表单时遇到问题。我按照以下步骤操作:
创建一个表单元素,如:
$dob = new ZendX_JQuery_Form_Element_DatePicker('patient_dob');
$dob->setLabel('')
->addFilter('StripTags')
->addFilter('StringTrim')
//->addValidator('Date')
->setAttrib('readonly', 'true')
->setJQueryParam('dateFormat', 'yy-mm-d')
->setDecorators(array(
'Description', 'Errors', 'UiWidgetElement',
array(array('data' => 'HtmlTag'), array('tag' => 'Div', 'class'=>'calender_input'))
));
并将元素调用为表单。当页面正常加载但是没有ajax请求时它正在工作。是什么原因?有什么建议?我搜索了很多关于它的信息。
答案 0 :(得分:2)
问题是,当文档准备就绪时,ZendX_Jquery扩展会呈现激活日期选择器的javascript代码:
<script type="text/javascript">
//<!--
$(document).ready(function() {
$("#patient_dob").datepicker({});
});
//-->
</script>
这对非ajax请求有意义,但永远不会在ajax请求中执行,因为document.ready已经发生在父页面中。您可以直接在视图中添加自己的视频:
<script type="text/javascript">
$("#patient_dob").datepicker({});
</script>
我还没有从Zend Jquery扩展程序中找到解决方案,但如果你这样做,请告诉我!