如何提交有多个按钮的表单
编辑本页如何提交有多个按钮的表单
当表单包含多个提交按钮时,您将希望检查单击了哪个按钮以适应控制器中的程序流。要做到这一点,添加第二个按钮,标题为“保存并添加”到您的表单:
1 2 3 4 5 6
$形式=$这->createFormBuilder ($任务)->add (“任务”, TextType::类)->add (“dueDate”, DateType::类)->add (“保存”, SubmitType::类,“标签”= >“创建任务”])->add (“saveAndAdd”, SubmitType::类,“标签”= >“保存并添加”])->getForm ();
在你的控制器中,使用按钮那么回事()查询是否点击“保存并添加”按钮的方法:
1 2 3 4 5 6 7 8 9
如果($形式->isSubmitted () & &$形式->isValid ()) {/ /……执行一些操作,例如将任务保存到数据库$nextAction=$形式->get (“saveAndAdd”)->那么回事()?“task_new”:“task_success”;返回$这->redirectToRoute ($nextAction);}
方法获取按钮的名称getClickedButton ()填写方法:
1 2 3 4 5 6 7 8 9
如果($形式->getClickedButton () & &“saveAndAdd”= = =$形式->getClickedButton ()->getName ()) {/ /……}//当使用嵌套表单时,两个或多个按钮可以有相同的名称;//在这些情况下,比较按钮对象而不是按钮名称如果($形式->getClickedButton () = = =$形式->get (“saveAndAdd”)) {/ /……}
此工作,包括代码示例,是根据创作共用BY-SA 3.0许可证。