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

发布于 2024-10-13 04:36:09 字数 1027 浏览 10 评论 0原文

$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]

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

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

我基本上有两个选择:

  1. 抑制提交按钮的文本标签(不是按钮内部的标签)或

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

我不知道如何将简单文本添加到没有隐藏的表单中输入,然后也必须被标记,所以这也没有帮助。

我该怎么做? 谢谢

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

I want to display a GUI like

[textfield label] [textfield] [submit button]

but the following gets displayed:

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

The problem with the above code is that the submit button needs a label which is used on the button, but I don't want a label to be shown left to the button, which can't be circumvented with the decorator

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

I basically have two options:

  1. Suppress the submit button's textual label (not the one inside the button) OR

  2. Delete the label decorator and manually add a simple text before the textfield

I have no idea how to add simple text to a form without a hidden input, which then must be labeled, too, so that doesn't help either.

How do I do it?
Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

寂寞清仓 2024-10-20 04:36:09

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

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

希望这对您有帮助。

If you want to remove the label for submit button only try this:

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

Hope this will be of help to you.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文