我有一个弹出窗口中呈现的表单。当表单提交并有效时,数据将被保存,并且我将重定向到表单的路由。我怎么能停止重定向?我不想渲染另一个页面,我的目标是在有效提交后关闭弹出窗口。
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;
答案 0 :(得分:1)
您可以使用Javascript捕获提交事件。
你可以在这里找到一个使用JQuery的例子: https://api.jquery.com/submit/
答案 1 :(得分:0)
使用AJAX发送数据
$.ajax({
type: "POST",
url: "yourControllerHere",
data: form.serialize(),
beforeSend: function() {
//TODO: Loading
},
error: function( xhr){
},
success: function( data ){
}
});
然后你可以处理你将要做的事情:功能(数据)