То, что делает ZF, правильно, потому что for
в вашем ярлыке должно совпадать с id
в вашем input
.Так что вам не следует менять это на что-то другое.
Вы пробовали:
$name->addDecorator('Label',array('class'=>'form_label', 'id'=>'name'));
Более важно, зачем вам это нужно?
Редактировать после ответа OP
Для этого for
должно быть достаточно уникальным, вы можете изменить свой ZF-код на следующий, так как вам не нужно устанавливать id
$name = new Zend_Form_Element_Text('zf_element_name');
$name->setLabel('Business Name:');
$name->addDecorator('Label',array('class'=>'form_label'));
$name->addDecorator('HtmlTag',array('tag'=>'span','class'=>'form_inputs'));
$name->setOrder(1);
$name->size='40';
Тогда ваш javascript, если вы используете jQuery, вы можете сделать это
$("label[for='zf_element_name']").html("Some new Label text");