我的问题是在生成表单之后,标签类已分配给默认值是可选的,而html代码如下所示:
<div class="form_wrapper">
<label for="email" class="optional">Username(e-mail):</label>
<input type="text" name="email" id="email" value="">
</div>
我的行动中的代码是:
$form->addElement('text', 'email');
$usernameElement = $form->getElement('email');
$usernameElement->setLabel('Username(e-mail):');
$usernameElement->setDecorators(array(
'ViewHelper',
'Label',
new Zend_Form_Decorator_HtmlTag(array('tag' => 'div','class'=>'form_wrapper'))
));
但在某些情况下,我希望将其设置为一个不同的值,我可以轻松地在CSS中设置样式。我想要的HTML代码是这个(摆脱“可选”):
<div class="form_wrapper">
<label for="email" class="email_label">Username(e-mail):</label>
<input type="text" name="email" id="email" value="">
</div>
答案 0 :(得分:2)
假设这是ZF1,我挖出了1.12.3的参考:
$form->getElement('elementname')
->setDecorators(array(
array('ViewHelper',
array('helper' => 'formText')),
array('Label',
array('class' => 'another'))
));
以上为您提供了额外的课程。所以你会得到类似的东西:
<label for="elementname" class="another optional">Your Label Text</label>
OR
<label for="elementname" class="another required">Your Label Text</label>
答案 1 :(得分:1)
看看这个类似的问题:
Zend_Form - add CSS Class :: How can I add css class to label in Zend_Form?
向表单元素本身添加一个类就像:
$usernameElement->class = 'email_label';
看来如果你想在标签上设置类,你需要添加Zend_Form_Decorator_Label
并传入类名。