Utilisation du jQuery dans un formulaire en Symfony

Utilisation du jQuery dans un formulaire en Symfony

// CONTROLLER

  public function validationFormAction(Request $request)

  {

    $data = $request->request->get('form_contact');

    $email = $data['email'];

    $lastName = $data['lastName'];

    $firstName = $data['firstName'];

    $subject = $data['subject'];

    $message = $data['message'];

    if($email && $lastName && $firstName && $subject && $message){

      if (filter_var($email, FILTER_VALIDATE_EMAIL)) {

        $entity = new Contact();

        $form = $this->createForm(

          new ContactType(),

          $entity,

          array(

            'action' => $this->generateUrl('contactUs'),

            'method' => 'POST',

            'attr' => array('id' => 'contact-form')

          )

        );

        $form->handleRequest($request);

        if ($form->isValid()) {

          $em = $this->getDoctrine()->getManager();

          $em->persist($entity);

          $em->flush();

        }

        return new JsonResponse(array('<div>Message envoyé avec succès !</div>'));

      }else{

        return new JsonResponse(array('<div>Email invalide !</div>'));

      }

    }else{

      return new JsonResponse(array('<div>Veuillez saisir tous les champs !</div>'));

    }



  }
// ROUTE


  verification:

  path:  /verification

  defaults: { _controller: BaseBundle:Default:validationForm }
// LAYOUT



  <script type="text/javascript">

    $(document).ready(function() {

      $("#submitContact").click(function (e) {

        $("#msg_contact").removeClass().addClass('messagebox').fadeIn(1000);

        $("#msg_contact").html('<div style="color:#000;font-weight:normal;padding:12px 10px 10px 13px;background:#fff;"><img src="{{ asset('') }}loading.gif" style="width:12px;float:left;margin-right:4px;" alt="loader" />&nbsp; Veuillez patienter s\'il vous plaît ..</div>');

        var Data = $("#contact-form").serializeArray();

        console.log(Data);

        $.ajax(

            {

              url: "{{path('verification')}}",

              type: "POST",

              data: Data,

              success: function (data, textStatus, jqXHR) {

                $('#msg_contact').html(data);

                console.log(data);

              }

            });

        $("#msg_contact").slideDown("slow");

        e.preventDefault();

      });

    });

  </script>