开发者

Duplicated Zend_Form Element ID in a page with various forms

How do I tell the Zend_Form tha开发者_StackOverflow中文版t I want an element (and it's ID-label, etc) to use another ID value instead of the element's name?

I have several forms in a page. Some of them have repeated names. So as Zend_Form creates elements' IDs using names I end up with multiple elements with the same ID, which makes my (X)HTML document invalid.

What is the best solution to fix this, given that I really have to stick with using the same element names (they are a hash common to all forms and using the Zend_Form Hash Element is really out of question)?


Zend_Form_Element has a method called setAttribs that takes an array. You may be able to do something like $element->setAttribs(array('id' => "some_id"));

or you can do $element->setAttrib('id', 'some_id');


Thanks, Chris Gutierrez.

However, as I said, I needed to get ride of the default decorator generated IDs like -label. Wiht the $element->setAttribs() it is not possible, however.

So based on http://framework.zend.com/issues/browse/ZF-7125 I just did the following: $element->clearDecorators(); $element->setAttrib('id', 'some_id'); $element->addDecorator("ViewHelper");

Whoever sees this: please note this was enough for what I needed. But may not be for you (the default settings has more than the viewHelper decorator).

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜