1
$sfKeyword = new Zend_Form_SubForm();

// text field
$tfKeyword = $sfKeyword->createElement('text', 'keyword');
$tfKeyword->setLabel('Search Keyword:');

// add elements
$sfKeyword->addElement($tfKeyword);
$sfKeyword->addElement('submit', 'submitSqlKeywordCheckerForm', array('label' => 'Check'));

// prepend labels        
$sfKeyword->setElementDecorators(array(
    'ViewHelper',
    'Errors',
    array('Label', array('placement' => 'prepend')),
));

我想显示一个像

[textfield label] [textfield] [submit button]

但会显示以下内容:

[textfield label] [textfield] [submit button label] [submit button]

上面代码的问题是提交按钮需要一个在按钮上使用的标签,但我不希望在按钮左侧显示标签,这是装饰器无法绕过的

array('Label', array('placement' => 'prepend')),

我基本上有两个选择:

  1. 禁止提交按钮的文本标签(不是按钮内的标签)或

  2. 删除标签装饰器并在文本字段前手动添加简单文本

我不知道如何在没有隐藏输入的情况下将简单文本添加到表单中,然后也必须对其进行标记,因此这也无济于事。

我该怎么做?谢谢

4

1 回答 1

3

如果您想删除提交按钮的标签,请尝试以下操作:

$sfKeyword->getElement('submitSqlKeywordCheckerForm')->removeDecorator('label');

希望这对您有所帮助。

于 2011-01-21T12:33:15.073 回答