//test1.html.twig with $.ajax script and <input> tag. <script type='text/javascript'> function myFunction() { var elementy = document.getElementsByClassName('inputISBN'); var data = elementy[0].getAttribute('value'); $.ajax({ url: "{{ path('test') }}", type: "POST", data: data , success: function() {alert("ok");} }); } </script> <form action="#" method="#"> <input type="number" class="inputISBN" name="name" value="666" onchange="myFunction()"> </form>
Here are Actions in Controller:
/** * @Route("/test1", name="test1") * @Template() */ public function test1Action() { } /** * @Route("/test", name="test") * @Template() */ public function testAction(Request $request) { $data = $request->request->get('data'); $session = $request->getSession(); $session->set('data',$data ); } /** * @Route("/test2", name="test2") * @Template() */ public function test2Action(Request $request) { $session = $request->getSession(); $data = $session->get('data'); }
Dostaję alert('ok') po zmianie wartościw tagu input,ale po otwarciu test2.html.twig print_r($data) zwraca 1.