Zend Framework:如何使用带有标签和提交按钮的文本字段创建子表单?

时间:2011-01-21 10:42:37

标签: zend-framework submit textfield zend-decorators zend-form-sub-form

$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')),
));

我想显示类似

的GUI
[textfield label] [textfield] [submit button]

但会显示以下内容:

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

上面代码的问题是提交按钮需要一个在按钮上使用的标签,但我不希望标签显示在按钮左边,这不能用装饰器来规避< / p>

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

我基本上有两种选择:

  1. 取消提交按钮的文字标签(不是按钮内的标签)或

  2. 删除标签装饰器并在文本字段

  3. 之前手动添加简单文本

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

    我该怎么办? 感谢

1 个答案:

答案 0 :(得分:3)

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

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

希望这会对你有所帮助。