給定以下表單類型如何在提交之前呈現我的第二個字段? 我試着用$form->remove
但我總是會得到這個錯誤:Symfony pre_submit更改字段順序
Warning: Illegal offset type in isset or empty
不是真的知道如何解決這個問題之一。
/**
* @param FormBuilderInterface $builder
* @param array $options
*/
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('survey', EntityType::class, [
'class' => SurveyManager::class,
'attr' => [
'class' => 'field-change',
],
])
->add('submit', SubmitType::class, [
])
->addEventListener(
FormEvents::PRE_SUBMIT,
function (FormEvent $event) {
$form = $event->getForm();
$data = $event->getData();
$modifier = $data['survey'];
$form->add('headquarter', EntityType::class, [
'class' => HeadQuarterManager::class,
'query_builder' => function (HeadQuarterManagerRepository $er) use ($modifier) {
return $er->getHeadquarter($modifier);
},
]);
}
);
}
你在提交之前渲染的意思是什麼?它應該做這個伎倆的JavaScript?如果是這樣,只需添加一個類(如'hidden'),它最初隱藏了按鈕,並讓jQuery在提交之前顯示它。 – Rvanlaak