私はデータベースからのデータを含むフォームをまだ持っていますが、WIP(私はまだ追加していないいくつかのフィールドがありません)です。 フォームは最初の選択でデータをロードし、その選択に基づいて、最初の選択(基本的に選択した値への関連付け)に基づいてオプションを使用して2番目の選択を入力するためにajaxを使用します。私はフォームを送信すると、データからデータベースからレポートを生成したいと思います。symfony ajaxフォームを動的に変更します
This value is not valid.
フォームクラス:
/**
* @param FormBuilderInterface $builder
* @param array $options
*/
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('survey', EntityType::class, [
'class' => SurveyManager::class,
'placeholder' => 'Choose option',
'attr' => [
'class' => 'field-change',
],
])
->add('headquarter', ChoiceType::class, [
'choices' => [],
])
->add('submit', SubmitType::class, [
'label' => 'Save',
])
;
}
私はエラーまたはどのように問題を解決する方法がわからreallていないよ、私は常にエラーを取得するので、私は2番目のフィールドでこだわっている瞬間のために このタイプのフォームを処理する必要があります。みんなを助けてくれますか?
私はこの
$builder->addEventListener(
FormEvents::PRE_SUBMIT,
function (FormEvent $event) {
$form = $event->getForm();
$data = $event->getData();
$form->add('headquarter', EntityType::class, [
'class' => HeadQuarterManager::class,
'query_builder' => function(HeadQuarterManagerRepository $er) {
return $er->getHeadquarter($data['survey']);
},
]);
}
);
をしましたが、私はこのエラーを取得しています回答に基づいて:私は返すことができるようにgetHeadquarterメソッドにデータを渡す方法
Notice: Undefined variable: data
本当にわかりませんselectのid => nameの配列。
私はあなたがそれを言うつもり考えていた... :-D問題は、私はそれらを使ったことがないと私はかなり理解していなかったですドキュメント:( –
@LSそれの音からオプション3が必要ですhttp://symfony.com/doc/current/form/dynamic_form_modification.html#form-events-submitted-dataあなたが一度それをしたら – Rooneyl
ok私はその部分をチェックアウトさせて、いくつかのコードをtogtherに入れて、私はそこから何か愚かなことを見るでしょう:D –