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
>> >
>
>

Reply via email to