I have a problem with the label decorator. When I create the form, I have something like this:
<label id="user_email-label"><label for="user_email" class="required">e-mail</label> </label> <input type="text" name="user_email" id="user_email" value="" class="span4">
but I need:
<label for="user_email" class="required">e-mail</label> <input type="text" name="user_email" id="user_email" value="" class="span4">
My code is:
$oText = new Zend_Form_Element_Text('user_email'); $oText->clearDecorators(); $oText->setLabel($oTranslate->translate('e-mail')); $oText->setAttrib('class','span4'); $oText->setRequired(true); $oText->addValidator('NotEmpty', true); $oText->addValidator('StringLength', true, array('max' => 200)); $oText->addValidator('EmailAddress', true); $oText->addDecorator('ViewHelper'); $oText->addDecorator('Errors'); $oText->addDecorator('Label',array('tag'=>'label', 'placement' => 'prepend')); $oText->setFilters(array('StringToLower','StringTrim')); $this->addElement($oText);
And my second question is: how can I check the box inside the label? When I do something like this:
$oCheckbox = new Zend_Form_Element_Checkbox('remember_me'); $oCheckbox->setLabel($oTranslate->translate('remember me')); $oCheckbox->setChecked(true); $oCheckbox->addDecorator('HtmlTag',array('tag'=>'label','class'=>'checkbox muted')); $oCheckbox->removeDecorator('DtDdWrapper'); $oCheckbox->addDecorator('Label',array('tag'=>'label')); $this->addElement($oCheckbox);
I have:
<label class="checkbox muted"> <input type="hidden" name="remember_me" value="0"><input type="checkbox" name="remember_me" id="remember_me" value="1" checked="checked"></label> <label id="remember_me-label"><label for="remember_me" class="optional">remember me</label></label>
but I need:
<label class="checkbox muted"> <input type="hidden" name="remember_me" value="0"><input type="checkbox" name="remember_me" id="remember_me" value="1" checked="checked"> remember me</label>
Any ideas?
Hello
source share