2013-11-18 3 views
1

У меня проблема со скрытием полей формы. Например:Symfony, скрытое поле формы

 ->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 после нажатия на кнопку. Любые идеи парней?

ответ

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, 
     )); 
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) }} 

Кроме того,

Почему вам нужно скрыть поле повторного пароля таким образом?

Смежные вопросы