如何提交有多个按钮的表单

编辑本页

警告:您正在浏览的文档欧宝官网下载appob娱乐下载Symfony 5.2,现已不再维护。

本页的更新版本用于Syob娱乐下载mfony 6.2(当前稳定版本)。

如何提交有多个按钮的表单

当表单包含多个提交按钮时,您将希望检查单击了哪个按钮以适应控制器中的程序流。要做到这一点,添加第二个按钮,标题为“保存并添加”到您的表单:

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许可证。