Bonjour,

voici mon code :

<?php

      echo $this->Form->input('categorie', array(
                                  'label' => $label,
                                  'type' => 'select',
                                  'multiple' => true,
                                  'empty' => '--Toutes les catégories--',
                                  'options' => $nameCategories,
                                  'onchange' => 'document.location.href="'.$this->Html->url(array(
                                            'controller' => 'Annonces', 
                                            'action' => 'filterByCategorie', 
                                            $categorie)).'"'));
 ?>

je veux envoyer la valeur du champ sélectionné par url et je ne sais pas comment je pourrai récupérer sa valeur,

est ce que vous avez une idée, ($categorie ne signifie rien je l'ai juste écrit ici pour vous donner une visibilité de ce que je veux)

merci

9 réponses


tina
Auteur

Merci antho07, mais je n'ai pas trouvé ce que je cherche, comment je peut récupèrer la valeur de l’élément sélectionné?

Comment ça la valeur de l'élement sélectionné?,tu veux envoyer en get au lieu d'envoyer en post? un seul élement sélectionné?

tina
Auteur

si je veux envoyer en post, mais je parle de la valeur de l'élément sélectionné

tina
Auteur

au lieu de $categorie, qu'est ce que je dois mettre?

J'imagine que pour récuperer le nom des categories, tu as fait attaque le model joint.

Dans ce cas essaye
$d=array();(le tableau que tenvoit a la vue)
$d'categories'] = $this->model1->category('list');

$this->set($categories);

et dans la vue

$this->Form->input('categories');

Je crois qu'il se demerde tout seul après cakephp pour mettre en forme et au moment du save tout sera sur le bon format.

tina
Auteur

Oui, c'est exactement ce que j'ai fait, mais mon problème c'est comment récupérer la valeur de l’élément sélectionné, je veux le récupérer sans le sauvegarder j'ai besoin de sa valeur pour d'autre traitement.

Merci pour tes réponses

Bonjour tina.
D'après ton code, tu permet un select multiple, ce qui veut dire que tu voudras un retour de plusieurs catégories.
C'est bien ça ?

tina
Auteur

Bonjour Lartak11,
Oui c'est vrai, mon problème c'est au niveau de mon action, je n'arrive pas à récupérer les données sélectionnées,
ni en l'envoyer dans mon URL ni avec data, tu vois? au départ j'ai voulu les envoyer dans mon url, mais ça n'a pas fonctionné,
et en suivant le conseil de antho07, je n'ai pas pu les récupérer avec data, parce que je fais appelle à mon action dans onchange de select, voici mon code :

<?php
       echo $this->Form->input('ville', array(
                                  'label' => 'Ville',
                                  'type' => 'select',
                                  'options' => $nameVilles,
                                  'multiple' => true,
                                  'onchange' => $this->Html->url(array('controller' => 'Annonces', 'action' => 'recherche'),
                                  'empty' => '--Toutes les villes--'
                                  ));
                                  ?>
<?php echo $this->Form->input('categorie', array(
                                  'label' => 'Categorie',
                                  'type' => 'select',
                                  'multiple' => true,
                                  'onchange' => $this->Html->url(array('controller' => 'Annonces', 'action' => 'recherche'),
                                  'empty' => '--Toutes les catégories--',
                                  'options' => $nameCategories,
                                  ));
                                    ?>

et au niveau de mon action j'utilise $this->data mais elle ne me retourne rien :s