如何从提交按钮中删除标签装饰器

10 zend-framework zend-form

在我的表格中,我有这个代码;

// Add the submit button
$element = $this->addElement('submit', 'submit', array(
    'ignore'   => true,
    'label' => 'Add new material'
));
$element->removeDecorator('label');
Run Code Online (Sandbox Code Playgroud)

但是,表单仍然使用标签之间的label元素进行渲染.

我究竟做错了什么?

jwh*_*hat 17

这对我有用:

$this->addElements(array(  
  new Zend_Form_Element_Submit('submit', array(  
    'label' => 'Save'  
  ))  
));  
$element = $this->getElement('submit');  
$element->removeDecorator('DtDdWrapper');
Run Code Online (Sandbox Code Playgroud)

我确实print_r($element);找出了装饰器的用途$element.


Eri*_*rik 11

函数addElement返回对当前表单的引用,而不是最后添加的元素.

你可以试试这个:

$form = new Zend_Form();
$form->addElement('submit', 'submit', array(
    'ignore'   => true,
    'label'     => 'Add new material'
));

$element = $form->getElement('submit');
$element->removeDecorator('label');
Run Code Online (Sandbox Code Playgroud)


小智 3

我认为 的参数区分removeDecorator大小写。即,应该是"Label"# 注意大写'L'