我有一个提交回自身的页面,它有一些表单选择字段,我想根据最初在提交时选择的内容设置它们的值。我如何在Symfony中做到这一点。
例如,我有一个现场供应商:
{{ form_widget(form.supplier) }}
当我选择供应商并点击提交时,我希望供应商是表单在页面上加载时刚刚输入的值。
谢谢!
答案 0 :(得分:0)
默认控制器设置应该会发生这种情况。您需要将表单数据绑定到表单,然后在同一操作中重新显示表单。
这应该是一个能够保持其状态的表单所需要的。 $editForm->submit()
方法可以保留它。
public function editAction()
{
$defaultData = array('supplier' => new Supplier());
$editForm = $this->createForm(new SupplierType(), $defaultData);
$editForm->submit($this->getRequest());
return array('form' => $editForm->createView());
}