I think you must be right Hector, but I was wondering if there was something I was missing. I know that you could adjust the decorators manually, but that would be a rather involved process -- I was hoping there was a way to do it centrally such as setElementsBelongTo().
On Wed, Sep 30, 2009 at 2:31 PM, Hector Virgen <djvir...@gmail.com> wrote: > This seems like a bug. I would think that setElementBelongsTo() would affect > all generated IDs. > > -- > Hector > > > On Wed, Sep 30, 2009 at 11:51 AM, Eugene Morgan > <eugenemorganrea...@gmail.com> wrote: >> >> Thanks for the tip, but it doesn't quite do what I'm looking for ... >> it looks like the id attributes of the <dd> and <dt> tags are >> generated based on the element's name rather than its id. So when I >> manually change the element's id the <dd> and <dt> id's are not >> affected. >> >> On Wed, Sep 30, 2009 at 11:28 AM, Fred Jiles <fredji...@gmail.com> wrote: >> > Can you possible use the setAttribute method to set the id manually? >> > >> > $element->setAttrib('id', 'instance1_text') >> > >> > Just append the id with something. >> > Fred >> > On Wed, Sep 30, 2009 at 12:01 PM, Jonathan Maron >> > <jonathan.a.ma...@gmail.com> wrote: >> >> >> >> Hello Eugene and others >> >> >> >> I have a similar issue when I place multiple navigation elements >> >> (Zend_Navigation) on to one page. Also in this case, I get multiple id >> >> attributes that are identical, which lead to invalid XHTML 1.0 Strict. >> >> >> >> Up to now, I have not found a good solution to this issue. >> >> >> >> However, I did have one really 'hack' solution... >> >> >> >> I wrote a simple Zend_Controller_Plugin to search and replace the >> >> multiple IDs in the generated XHTML. The plugin is triggered at >> >> dispatch loop shutdown. >> >> >> >> This is, of course, a very unsatisfying solution, but it works. >> >> >> >> Maybe you could take a similar approach, or someone else could say how >> >> to avoid multiple identical id attributes in the first place. >> >> >> >> Thanks :-) >> >> >> >> Jonathan >> >> >> >> >> >> >> >> On Wed, Sep 30, 2009 at 5:19 PM, Eugene Morgan >> >> <eugenemorganrea...@gmail.com> wrote: >> >> > I have a page that can potentially have multiple instances of the >> >> > same >> >> > form. I know I can use setElementsBelongTo() to prevent having more >> >> > than one form element with the same name. But is there any similar >> >> > way >> >> > to prevent the dt and dd tags from getting assigned the same id >> >> > attributes over and over again? >> >> > >> >> > For example: >> >> > >> >> > Form 1: >> >> > $instance1->setElementsBelongTo('instance1'); >> >> > ... >> >> > <form ...> >> >> > <dl> >> >> > <dt id="element1-label"> >> >> > <label class="optional" for="instance1-element1">Some >> >> > label</label> >> >> > </dt> >> >> > <dd id="element1-element"> >> >> > <input type="text" name="instance1[element1]" ... /> >> >> > </dd> >> >> > </dl> >> >> > </form> >> >> > >> >> > Form 2: >> >> > $instance2->setElementsBelongTo('instance2'); >> >> > ... >> >> > <form ...> >> >> > <dl> >> >> > <dt id="element1-label"> // Same id duplicated from instance >> >> > 1 >> >> > ... >> >> > <input name="instance2[element1]" ... /> // But name >> >> > changes >> >> > >> > >> > > >