2

ajax リクエストでフォームを読み込んでいるときに問題に直面しています。私は次の手順に従いました:

  1. レイアウトで jqueryUi を有効にします。
  2. 次のようなフォーム要素を作成します。

    $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 リクエストでは機能しません。理由は何ですか?助言がありますか?私はそれについてたくさんグーグルで調べました。

4

1 に答える 1

2

問題は、日付ピッカーをアクティブにする JavaScript コードが ZendX_Jquery 拡張機能によってレンダリングされ、ドキュメントの準備が整ったときに発生することです。

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

</script>

これは ajax 以外のリクエストでは意味がありますが、document.ready が親のページで既に発生しているため、ajax リクエストでは決して実行されません。ビューに独自のものを直接追加できます。

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

Zend Jquery 拡張機能からこれに対する解決策をまだ見つけていませんが、見つけた場合はお知らせください。

于 2012-03-26T12:05:16.603 に答える