Zend framework Zend框架-表单元素-删除ID

Zend framework Zend框架-表单元素-删除ID,zend-framework,Zend Framework,是否可以删除Zend Framework默认添加到每个表单元素的“id”属性 我看过文档,但似乎无法找到这个相当直截了当的问题的答案 可能的解决办法 除了设置选项,还有什么更干净的方法吗 $submit = new Zend_Form_Element_Submit('submit'); $submit->setRequired(FALSE) ->setIgnore(TRUE) ->setDecorators($this->elementDeco

是否可以删除Zend Framework默认添加到每个表单元素的“id”属性

我看过文档,但似乎无法找到这个相当直截了当的问题的答案

可能的解决办法 除了设置选项,还有什么更干净的方法吗

$submit = new Zend_Form_Element_Submit('submit');
$submit->setRequired(FALSE)
       ->setIgnore(TRUE)
       ->setDecorators($this->elementDecorators)
       ->setOptions(array('id' => ''));

一个解决方案是用您自己的视图辅助对象覆盖
Zend\u View\u Helper\u表单
。 但是,真诚地说,不要在表单中过多地关注这个id属性,您迟早会需要这个id(如果您使用的是Javascript),而性能增益(用于呈现页面)太小而无法考虑。这甚至会导致性能损失,因为您将覆盖帮助器

如果您的目的不同,并且仍然希望这样做,则需要编写自己的视图帮助程序,如下所示:

class My_View_Helper_Form extends Zend_View_Helper_FormElement
{
    public function form($name, $attribs = null, $content = false)
    {
        $info = $this->_getInfo($name, $content, $attribs);
        extract($info);


        $xhtml = '<form'
               . $this->_htmlAttribs($attribs)
               . '>';

        if (false !== $content) {
            $xhtml .= $content
                   .  '</form>';
        }

        return $xhtml;
    }
}
class My\u View\u Helper\u Form扩展了Zend\u View\u Helper\u FormElement
{
公共函数表单($name,$attribs=null,$content=false)
{
$info=$this->\u getInfo($name、$content、$attribs);
摘录($信息);
$xhtml='';
如果(错误!==$content){
$xhtml.=$content
.  '';
}
返回$xhtml;
}
}

最后,您只需使用插件加载程序重载默认的视图帮助器。有关插件加载器的更多信息。

我的回答能解决您的问题吗?