Zend_Form: дубликаты идентификаторов декоратора на подчиненных формах - PullRequest
0 голосов
/ 21 июля 2010

Я использую Zend_Form из Zend Framework 1.10.6 для рендеринга HTML-формы. В этой форме 'z' есть подчиненная форма с полем 'a'. Подформа добавляется в основную форму дважды, один раз с именем «x» и один раз как «y».

Ниже приведен HTML-код, представленный объектом Zend_Form.

<form id="z" enctype="application/x-www-form-urlencoded" method="post" action="">
 <dl class="zend_form">
  <dt id="x-label">&#160;</dt>
  <dd id="x-element">
   <fieldset id="fieldset-x">
    <dl>
     <dt id="a-label"><label for="x-a" class="required">A</label></dt>
     <dd id="a-element"><input type="text" name="x[a]" id="x-a" value="" /></dd>
    </dl>
   </fieldset>
  </dd>

  <dt id="y-label">&#160;</dt>
  <dd id="y-element">
   <fieldset id="fieldset-y">
    <dl>
     <dt id="a-label"><label for="y-a" class="optional">A</label></dt>
     <dd id="a-element"><input type="text" name="y[a]" id="y-a" value="" /></dd>
    </dl>
   </fieldset>
  </dd>

  <dt id="submit-label">&#160;</dt><dd id="submit-element"><input type="submit" name="submit" id="submit" value="Submit" /></dd>
 </dl>
</form>

Единственная проблема заключается в том, что стандартный декоратор (<dt>, <dd>) генерирует дубликаты идентификаторов. Почему эти идентификаторы не имеют префикса с именем подчиненной формы и тире, как идентификаторы полей ввода?

1 Ответ

0 голосов
/ 22 июля 2010

Не знаю, почему у них нет префикса, но чтобы обойти это, я просто установил свои собственные декораторы для элементов. Эта статья может помочь http://devzone.zend.com/article/3450

...