如何让多个按钮提交表单
当你的表单包含了一个以上的提交按钮,你需要检测哪个按钮被点击了,以迎合控制器中的程序逻辑。为此,添加一个“Save and add”按钮到表单中:
1 2 3 4 5 6 |
$form = $this->createFormBuilder($task)
->add('task', TextType::class)
->add('dueDate', DateType::class)
->add('save', SubmitType::class, array('label' => 'Create Task'))
->add('saveAndAdd', SubmitType::class, array('label' => 'Save and Add'))
->getForm(); |
在你的控制器中使用isClicked()方法来判断“Save and add”按钮是否被点击:
1 2 3 4 5 6 7 8 9 10 |
if ($form->isValid()) {
// ... perform some action, such as saving the task to the database
// ... 进行一些操作,比如将task入库
$nextAction = $form->get('saveAndAdd')->isClicked()
? 'task_new'
: 'task_success';
return $this->redirectToRoute($nextAction);
} |