【发布时间】:2023-04-03 14:58:01
【问题描述】:
我有一个在弹出窗口中呈现的表单。当表单提交并且有效时,数据被保存并且我被重定向到表单的路由。我怎样才能停止这种重定向?我不想渲染另一个页面,我的目标是在有效提交后关闭弹出窗口。
public function addFeedbackAction(Request $request)
{
$view = View::create();
$feedback = new Feedback();
$feedbackService = $this->get('main.feedback.service');
$form = $this->createForm(new FeedbackType(), null, ['action' => 'feedback']);
$form->handleRequest($request);
if ($form->isValid()) {
$formData = $form->getData();
$feedbackService->create($formData, $feedback);
return null;
}
$view
->setData($form)
->setTemplateData($form)
->setTemplate('MainBundle:Modals:feedback.html.twig');
return $view;
【问题讨论】:
-
这个问题确实不清楚。这完全是 Symfony 的问题吗?通过 AJAX 异步发送表单,然后在有效的表单提交上关闭弹出窗口...
-
请发布您的 JavaScript 代码。它应该使用
e.preventDefault();或return false;之类的东西,以便在不更改当前页面的情况下通过 AJAX 提交帖子。
标签: javascript php forms symfony