Bonjour,

J'ai créé des fonctions jaVascript (Ajax) qui fonctionnaient correctement. Pour une meilleure structuration, j'ai sorti ces fonctions du fichier twig pour les placer dans un fichier .js auquel je fais appel dans twig. Depuis, mes fonctions Ajax ne fonctionnent plus. J'ai l'impression que c'est du au fait que la route n'est pas appelée.

Voici une parte de mon fichier .twig :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
<script type="text/javascript" src="{{ asset('bundles/hotelsgestionannonces/js/jquery-1.7.min.js') }}"></script>
<script type="text/javascript" src="{{ asset('bundles/hotelsgestionannonces/js/myFunctions.js') }}"></script>
 
<script type="text/javascript">  
 window.onload = function()
  {
   ajoutOptionVide('hotels_gestionannoncesbundle_provincetype_departement');
   ajoutOptionVide('hotels_gestionannoncesbundle_provincetype_pays');
  };
</script>
Voici ma fonction js correctement exécutée :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
function ajoutOptionVide(idElem)
  {
   document.getElementById(idElem).options[0] = new Option('', 0, true, true);
  }
Par contre, dans le même fichier, voici une fonction qui ne s'exécute pas :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
function majPays(idSelect, idDepartement)
  {
    var DATA = "idDepartement="+idDepartement;
 
    $.ajax
	  ({
		  type: "POST",
		  url: "{{ path('province_paysByDepartement') }}",
		  data: DATA,
 
      success: function(res)
		   {
			  var tabRes = res.split('+');
 
        document.getElementById(idSelect).options.length = 0;
			  document.getElementById(idSelect).options[0] = new Option(tabRes[1], tabRes[0], true, false)        		  
		   }
	  });
 
	  return (false);
  }
J'ai donc l'impression que c'est
Code : Sélectionner tout - Visualiser dans une fenêtre à part
url: "{{ path('province_paysByDepartement') }}"
qui est mal interprété.

Quelqu'un aurait déjà rencontré ce problème?

Merci d'avance pour vos réponses.