سؤال

I am facing issue while i load a form on ajax request. i followed the steps :

  1. Enable jqueryUi in layout.
  2. creates a form element like :

    $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'))
                 ));
    

    and just called the element into form. It is working when page load normally but not with ajax request. What is the reason? any suggestions? i googled a lot about it.

هل كانت مفيدة؟

المحلول

The problem is that the javascript code that activates the date picker is rendered by the ZendX_Jquery extension to happen when the document is ready:

<script type="text/javascript">
//<!--
$(document).ready(function() {
    $("#patient_dob").datepicker({});
});
//-->

</script>

which makes sense with non-ajax requests, but never is executed in an ajax request because the document.ready has already happened in the parent's page. You can add your own in your view directly:

<script type="text/javascript">
    $("#patient_dob").datepicker({});
</script>

I haven't yet found a solution for this from the Zend Jquery extension, but if you do please let me know!

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top