добавить поля с событиями формы в Symfony - PullRequest
0 голосов
/ 12 сентября 2018

Я пытаюсь добавить поля с событиями формы в Symfony, но поля добавляются автоматически при обновлении страницы ... Сценарий, когда я заполняю входные поля электронной почты, отображается тело ...

код PostType:

<?php

    namespace AppBundle\Form;

    use Symfony\Component\Form\AbstractType;
    use Symfony\Component\Form\FormBuilderInterface;
    use Symfony\Component\OptionsResolver\OptionsResolver;
    use Symfony\Component\Form\Extension\Core\Type\SubmitType;
    use Symfony\Component\Form\FormEvent;
    use Symfony\Component\Form\FormEvents;

    class PostType extends AbstractType
    {
        /**
         * {@inheritdoc}
         */
        public function buildForm(FormBuilderInterface $builder, array $options)
        {
            $builder->add('titl')->add('email')->add('phone');
            $builder->addEventListener(FormEvents::PRE_SET_DATA, function (FormEvent $event){
                $post = $event->getData();
                $form = $event->getForm();
                   if(!empty($post->getEmail))
                   {
                     $form->add('body');
                   }

                });
            $builder->add('save', SubmitType::class);
        }/**
         * {@inheritdoc}
         */
        public function configureOptions(OptionsResolver $resolver)
        {
            $resolver->setDefaults(array(
                'data_class' => 'AppBundle\Entity\Post'
            ));
        }

        /**
         * {@inheritdoc}
         */
        public function getBlockPrefix()
        {
            return 'appbundle_post';
        }


    }

помогите мне, пожалуйста, и спасибо за продвинутый

1 Ответ

0 голосов
/ 13 сентября 2018

Как сказано в комментарии, вы должны использовать Javascript для этого, например, сделать ajax-запрос, чтобы отправить форму и применить, всегда в javascript, ответ HTML.

Для этого есть отличный видеоурок (на французском) https://www.youtube.com/watch?v=F0Z-D3MSjA0&t=1504s

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...