2016-05-23 32 views
0

私はポップアップでレンダリングされるフォームを持っています。フォームが送信され、有効になると、データが保存され、フォームのルートにリダイレクトされます。どのようにリダイレクトを停止できますか?私は別のページをレンダリングしたくない、私の目標は有効な送信後にポップアップを閉じることです。提出後にリダイレクトからsymfonyフォームを停止する

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; 
+5

質問本当に明確ではありません。 Symfonyの問題ですか? AJAX経由でフォームを非同期で送信し、有効なフォームでポップアップを閉じます。 – Farside

+0

JavaScriptコードを投稿してください。現在のページを変更せずにAJAXを通して投稿を送信するには、 'e.preventDefault();'または 'return false;'のようなものを使うべきです。 –

答えて

1

Javascriptを使用してイベントを送信することができます。

現在のjQueryを使用してexempleを見つけることができます。 https://api.jquery.com/submit/

0

次にあなたがつもり成功に何をすべきかを処理することができますAJAX

$.ajax({ 
     type: "POST", 
     url: "yourControllerHere", 
     data: form.serialize(), 
     beforeSend: function() { 
      //TODO: Loading 
     }, 
     error: function(xhr){ 

     }, 
     success: function(data){   

     } 
    }); 

を使用してデータを送信します。機能(データ)

関連する問題