Symfony4-如何在不将参数传递到URL的情况下提交表单

时间:2018-10-13 23:13:01

标签: forms symfony symfony-forms symfony4

我正在为列表进行类别过滤,并使用表单选择该类别。当我提交表单时,类别选择和过滤工作正常,但是问题在于表单将有关自身的所有信息传递到URL(表单名称,所​​选值,子级)中。因此,我需要以某种方式阻止表单将这些参数传递到URL中。

我的表单控制器如下:

$form = $this->createFormBuilder()
    ->add('category', ChoiceType::class, [
        'choices' => [
            'Všechny kategorie' => 'vsechny-kategorie',
            'Automobilový průmysl' => 'automobilovy-prumysl',
            'Stavebnictví' => 'stavebnictvi',
            'Elektronika a elektrotechnika' => 'elektronika-a-elektrotechnika',
            'Gastronomie' => 'gastronomie',
            'Lesnictví' => 'lesnictvi',
            'Potravinářský průmysl' => 'potravinarsky-prumysl',
            'IT technologie' => 'it-technologie',
            'Logistika' => 'logistika',
            'Strojírenství' => 'strojirenstvi',
            'Zdravotnictví' => 'zdravotnictvi'
        ],
        'label' => 'Kategorie:'
    ])
    ->add('send', SubmitType::class, ['label' => 'Test'])
    ->getForm();

$form->handleRequest($request);

if($form->isSubmitted() && $form->isValid()) {
    $data = $form->getData();
    $category = $data['category'];

    return $this->redirectToRoute('jobs', [
        'jobs' => $pagination,
        'categoryForm' => $form->createView(),
        'category' => $category
    ]);
}

编辑:

这是我认为的表单代码段。

<div class="category col-md-3">
    {{ form_start(categoryForm) }}
    {{ form_end(categoryForm) }}
</div>

1 个答案:

答案 0 :(得分:0)

我认为您想写以下代码是否犯了错?

<div class="category col-md-3">
    {{ form_start(categoryForm) }}
    {{ form_widget(categoryForm) }}
    {{ form_end(categoryForm) }}
</div>