0

如何告诉 Zend_Form 我想要一个元素(以及它的 ID 标签等)使用另一个 ID 值而不是元素的名称?

我在一个页面中有几个表格。其中一些有重复的名字。因此,当 Zend_Form 使用名称创建元素的 ID 时,我最终会得到多个具有相同 ID 的元素,这使得我的 (X)HTML 文档无效。

什么是解决这个问题的最佳解决方案,因为我真的必须坚持使用相同的元素名称(它们是所有表单共有的散列,并且使用 Zend_Form 散列元素真的没有问题)?

4

2 回答 2

0

Zend_Form_Element有一个名为 setAttribs 的方法,它接受一个数组。你也许可以做类似的事情$element->setAttribs(array('id' => "some_id"));

或者你可以做 $element->setAttrib('id', 'some_id');

于 2009-10-15T18:39:52.977 回答
0

谢谢,克里斯古铁雷斯。

但是,正如我所说,我需要使用默认装饰器生成的 ID,例如 -label。但是,使用 $element->setAttribs() 是不可能的。

所以基于http://framework.zend.com/issues/browse/ZF-7125我只是做了以下事情: $element->clearDecorators(); $element->setAttrib('id', 'some_id'); $element->addDecorator("ViewHelper");

看到这个的人:请注意,这足以满足我的需要。但可能不适合你(默认设置比 viewHelper 装饰器更多)。

于 2009-10-15T20:05:25.617 回答