私たちのアプリケーションでは、ZF MVCスタックの一部を使用せずにZend_formを使用します。私たちはダイナミックフォーム(Javascript、Ajaxで動く)を作りたいと思っていますが、私たちはDojoを探していますが、それは「すぐに使える」ものではありません。すべてのサンプルがMVCアプリケーションのZend_Formについて語っているので、オンラインZend Frameworkのドキュメントは役に立ちませんでした。ZF MVCを使用せずにZend FormとDojoを使用する場合
私たちのエラーはどこですか?何が足りないの?ここでは、コードは次のとおりです。
$oViewZF = new Zend_View();
Zend_Dojo::enableView($oViewZF);
$oViewZF->addHelperPath(PATH_ZF . '1.11.4/library/Zend/Dojo/View/Helper', 'Zend_Dojo_View_Helper');
$oViewZF->dojo()->setCdnVersion('1.1.1');
$oViewZF->dojo()->setLocalPath('dojo/dojo/dojo.js')->addStyleSheetModule('dijit.themes.tundra');
$form = new Zend_Dojo_Form();
$form->setAction($url)->setMethod('post')->setTranslator(self::ZendFormTranslate());
$form->addPrefixPath('Zend_Dojo_Form', 'Zend/Dojo/Form/')
->addElementPrefixPath('Zend_Dojo_Form', 'Zend/Dojo/Form/')
->addDisplayGroupPrefixPath('Zend_Dojo_Form', 'Zend/Dojo/Form/');
$form->setDecorators(array('FormElements', array('TabContainer', array('id' => 'tabContainer', 'style' =>
'width: 600px; height: 500px;', 'dijitParams' => array('tabPosition' => 'top'))), 'DijitForm'));
echo $oViewZF->headScript(); #show nothing
echo $oViewZF->dojo(); #print "style @import dojo/dijit/themes/tundra/tundra.css"; and <script type="text/javascript" src="dojo/dojo/dojo.js"></script>
echo $oViewZF->layout()->content; #show nothing
echo $oViewZF->inlineScript(); #show nothing
$birthday = new Zend_Dojo_Form_Element_DateTextBox('birthday');
$birthday->setLabel('Birthday');
$form->addElement($birthday);
$form->addElement('submit', 'cmd', array('label' => 'Créer'));
echo $form->render($oViewZF);
それは、任意のJSエラーなしでテキストのみの入力プログラムのフィールドを示しています。
<dt id="birthday-label"><label for="birthday" class="optional">Birthday</label></dt>
<dd><input id="birthday" name="birthday" value="" type="text"></dd>
私たちは、チェックボックスがチェックされている場合、フィールドはのみ/ visibleをを必要な日付ピッカーを使用したい
、等々。
よろしく、
セドリック
PS:私はレンダリング()呼び出しの後に$ oViewZF->道場を()(Zend_Dojo_Form in a layoutを参照)配置する場合、私は、これはエラー
ErreurをJSがあります。キャッチされない例外:[例外...コード "文字列に無効な文字が含まれています": "5" nsresult: "0x80530005(NS_ERROR_DOM_INVALID_CHARACTER_ERR)" 場所: "http://127.0.0.1/~cedric/EC/VOOELFE/code/decideur/public/dojo/dojo/_base/_loader/bootstrap.jsライン:1930"]