Quick links: Content - sections - sub sections
EN FR
Quick Search Advanced search
 
Page

  [Opened] jurl dans les templates

Posted by yamsuz on 10/15/2009 21:18

Bonjour à tous,

Je suis en train de faire une page ou j'ai un tableau avec en première colonne des cases à cocher.

J'ai un menu par bouton au dessus du tableau, chaque éléments du tableau appel une fonction javascript qui récupére la ligne sélectionné par l'utilisateur et ensuite en fonction de l'identifiant de la ligne appel un controleur en lui passant les paramètres. Dans ce cas il n'y a aucun problème ça marche très bien. Par contre j'aimerai que l'utilisateur puisse faire un click droit dans le menu et sélectionner "Ouvrir dans un nouvel onglet" pour cela (à ma connaissance), le lien ne doit pas faire appel à un javascript, mais un lien directement. comme ceci:

 <a href="{jurl 'MonProjet~MonControleur:prepare', array('Param1'=>'1','param2'=>$ParamPhp, 'Modifier'=>$ParamPhp2)}">Mon Lien</a>

Jusque la ça fonctionne, je récupère bien les 3 paramètres, par contre j'aimerai bien que le première paramètre appel une fonction javascript afin de récupérer l'identifiant et le passer en parametre

Dans mon fonction javascript (que je veux supprimer) je fais

 var Identifiant = ElementSelectionne("IDTaches[]"); // Permet de récupérer l'identifiant
 var param2 = '1';
 var param3 = 't';
 var url ={/literal}{urljsstring 'MonProjet~MonControleur:prepare', array(), array('Param1'=>'identifiant','param2'=>'param2', 'Modifier'=>'param3')}{literal};
			redirection(url);

Ma question est donc peut-on dans je jurl mettre du javascript ?

Merci d'avance

  [Opened] Re: jurl dans les templates

Reply #1 Posted by catsoup on 10/16/2009 10:16

Bonjour, ça doit être possible (faut tenter!), mais ça me parait compliqué comme solution.
Est ce que changer l'attribut href a la volée lors du cochage d'une case, ne serait pas mieux ? par exemple: (avec jQuery)

 {literal}
 $each('input[name=IDTaches[]]').change(function(){
   if($(this).selected){
   var identifiant = ElementSelectionne($(this).val());
   {/literal}
   var lien = {jurl 'MonProjet~MonControleur:prepare', array(), array('Param1'=>identifiant,'param2'=>'param2', 'Modifier'=>'param3')};
   {literal}
   $('a#id_dulien').attr('href') = lien;
   }
   else {
     $('a#id_dulien').attr('href') = '#';
   }
 });
 {/literal}
 
Page
  1. jurl dans les templates