【问题标题】:Duplicated Zend_Form Element ID in a page with various forms具有各种表单的页面中的 Zend_Form 元素 ID 重复
【发布时间】:2009-10-15 18:36:04
【问题描述】:

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

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

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

【问题讨论】:

    标签: validation xhtml zend-form element


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      谢谢,克里斯·古铁雷斯。

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

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

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

      【讨论】:

        猜你喜欢
        • 2022-08-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-10-07
        • 2013-05-07
        • 2015-12-01
        • 1970-01-01
        相关资源
        最近更新 更多