I am creating a Zend Form using Dojo elements and I would like to layout the form elements using CSS. Unfortunatly the element is not being given an ID like all other elements in my form.
Output
<dt id="purchase_required-label"></dt>
<dd><table id="widget_purchase_required" class="dijit dijitReset dijitInlineTable disabled dijitTextBox dijitTextBoxDisabled" cellspacing="0" cellpadding="0" wairole="presentation" dojoattachevent="onmouseenter:_onMouse,onmouseleave:_onMouse" name="purchase_required" style="display: -moz-inline-stack;" role="presentation" widgetid="purchase_required"></table></dd>
<dt id="purchase_supplier_id-label"></dt>
<dd id="purchase_supplier_id-element"></dd>
Example Code
$purchase_required = new Zend_Dojo_Form_Element_DateTextBox('purchase_required');
$purchase_required->setLabel('Required Date');
$purchase_required->setAttribs(array("dojoType"=>"dijit.form.DateTextBox"));
$purchase_required->setRequired(TRUE);
$purchase_required->addErrorMessage('Please enter date as YYYY-MM-DD');
$this->addElement($purchase_required);
Is this a bug or am I missing something?
It appears that id is removed from that element in
Zend_Dojo_Form_Element_Dijitwhen it overridesloadDefaultDecorators. You could probably restore it by using something like what happens in Dijit’s superclass:Zend_Form_Element: