我在隐藏表单字段时遇到问题。例如:
->add('new_password', 'repeated', array(
'first_options' => array(
'label' => 'Nowe hasło',
'attr' => array('style'=>'display:none;')),
'second_options' => array(
'label' => 'Powtórz nowe hasło',
'attr' => array('style'=>'display:none;')),
'mapped' => false,
'required' => false,
));
字段不可见但标签可见。我想隐藏字段但标签应隐藏到。我想在点击按钮后在Jquery中显示它。任何想法的家伙?
答案 0 :(得分:4)
首先,这不是Hidden Field Type
,而是您想要通过传递style='display:none;'
属性来隐藏的重复类型。
通常,如果您不想显示给定标签,则可能需要自定义表单呈现。
例如,
{{ form_row(yourForm.new_password) }} {# in case you're using the form_row helper #}
应替换为
{{form_widget(yourForm.new_password) }}
因为form_row(yourForm.yourField)
实际上是
{{ form_errors(yourForm.yourField) }}
{{ form_label(yourForm.yourField) }}
{{ form_widget(yourForm.yourField) }}
此外,
为什么需要以这种方式隐藏重复的密码字段?
答案 1 :(得分:3)
如果您只想在单击按钮时显示它,为什么不将newPassword小部件包装在显示无的div中?
但是如果你想为标签添加属性,可以使用label_attr
选项,如下所示:
{{ form_row(form.name, {'label_attr ':{'class':'hidden'}}) }}
或
->add('new_password', 'repeated', array(
'first_options' => array(
'label' => 'Nowe hasło',
'label_attr' => array('style'=>'display:none;')),
'second_options' => array(
'label' => 'Powtórz nowe hasło',
'label_attr' => array('style'=>'display:none;')),
'mapped' => false,
'required' => false,
));