I would like to add the id attribute to a label field in a Zend Form Element, but when setting ‘id’=>’namelabel’ in the decorator properties, it sets for=’namelabel’ in the label instead of adding the attribute of id=’namelabel’
$name = new Zend_Form_Element_Text('name');
$name->setLabel('Business Name:');
$name->addDecorator('Label',array('class'=>'form_label', 'id'=>'namelabel'));
$name->addDecorator('HtmlTag',array('tag'=>'span','class'=>'form_inputs'));
$name->setOrder(1);
$name->size='40';
renders
<label for="namelabel" class="form_label optional">Business Name:</label>
when I want it to render
<label id="namelabel" for="name" class="form_label optional">Business Name:</label>
Is this even possible?
What ZF is doing is correct, because the
forin your label should be the same as theidin yourinput. So you should not change this to be something different.Have you tried:
More importantly, why do you need to do this?
Edit after OP response
The
forshould be unique enough for this, you can change your ZF code to the below, as you do not need to set anidThen your javascript, if your using jQuery you can do this