Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 24-01-2008 11:00:54

ManuB
Membre
Lieu: Auxerre
Date d'inscription: 17-10-2007
Messages: 49

[1.0.3] - Mise à jour de listes liées dans la vue

Bonjour,

C'est certainement une question très bête (comme à mon habitude) mais voilà mon problème...

Dans une vue contenant un formulaire je souhaiterai mettre à jour le contenu d'un select à partir d'une valeur sélectionnée dans un select.

Code:

      <tr>
        <th>Instance</th>
        <td><?php echo $this->formSelect('idinstances', $this->bon->idinstances, null, $this->instances) ?></td>
      </tr>
      <tr>
        <th>Motif</th>
        <td><?php echo $this->formSelect('idmotifs', $this->bon->idmotifs, null, $this->motifs) ?></td>
      </tr>

Le but : n'avoir que les motifs correspondant aux instances...

Merci d'avance pour votre aide...

ManuB...

Dernière modification par ManuB (24-01-2008 11:01:23)

Hors ligne

 

#2 24-01-2008 11:16:43

ndesaleux
Membre
Date d'inscription: 16-04-2007
Messages: 196
Site web

Re: [1.0.3] - Mise à jour de listes liées dans la vue

Ah ce niveau la, tu ne peux faire ca que de 3 manières mais je ne pense pas que ce soit faisable en PHP only

au changement de valeur de ton select parent :
- tu recharges la page
- tu remplaces les valeurs du select enfant par celles correspondantes (remplacement en JS via DOM)
- tu remplaces les valeurs du select enfant via un appel JS d'un PHP qui te retourneras les enfants correspondant

Je ne pense pas qu'il y ait des choses de prévue dans ZF pour gérer ce cas la

Hors ligne

 

#3 24-01-2008 11:31:08

ManuB
Membre
Lieu: Auxerre
Date d'inscription: 17-10-2007
Messages: 49

Re: [1.0.3] - Mise à jour de listes liées dans la vue

Je me doutais bien que je devrais passer par un petit javascript avec un XMLHTTPRequest qui appelerai une page php...

Ce qui me pose problème c'est l'utilisation du XMLHTTPRequest dans le contexte MVC.

A priori, après un peu de recherche, ca devrai fonctionner avec XMLHTTPRequest en excluant du RewriteRule la page appelé par XMLHTTPRequest pour qu'elle ne soit pas re-router vers le bootstrap

Hors ligne

 

#4 24-01-2008 12:00:55

Mr.MoOx
Administrateur
Lieu: Toulouse
Date d'inscription: 27-03-2007
Messages: 1444
Site web

Re: [1.0.3] - Mise à jour de listes liées dans la vue

A titre indicatif, il existe un méthode Zend_Controller_Request_Http::isXmlHttpRequest(), qui fonctionne très bien avec jquery et prototype, ça peut aider...

Perso je ferais soit tout en js soit tout en php(avec un chouilla de js)
js: tu charge tout dans tous (smile ) puis quand un valeur est selected dan le 1, tu modifie le select 2 (par exemple, tu joue avec les class ou d'autres attributs
php (et petit peu js): tu gère tout en php sans js, puis une fois que c'est opé, tu rajoute sur ton select 1 un auto submit() lors du changement de valeur...

En espérant t'avoir aider...

Hors ligne

 

#5 24-01-2008 12:31:32

ManuB
Membre
Lieu: Auxerre
Date d'inscription: 17-10-2007
Messages: 49

Re: [1.0.3] - Mise à jour de listes liées dans la vue

Javascript reste flou pour moi...

Si quelqu'un aurait la bonté de me donné un petit exemple çà serai génial....

Hors ligne

 

#6 24-01-2008 12:34:46

Mr.MoOx
Administrateur
Lieu: Toulouse
Date d'inscription: 27-03-2007
Messages: 1444
Site web

Re: [1.0.3] - Mise à jour de listes liées dans la vue

Soumission auto lors du changement de valeur du select:

Code:

<form id="loulou">...
    <select name..... onchange="document.getElementById('loulou').submit()">
        <options.......

Hors ligne

 

#7 24-01-2008 13:06:58

ManuB
Membre
Lieu: Auxerre
Date d'inscription: 17-10-2007
Messages: 49

Re: [1.0.3] - Mise à jour de listes liées dans la vue

Je m'explique mal.... désolé...

Je souhaite utilisé un objet XMLHTTPRequest... J'ai déjà...

Mon objet appel une page php et me retourne mon Select...

Mon soucis est surtout la façon d'appelé ma page étant donné que j'ai une architecture MVC avec le rewrite Engine.

Est ce que je peux appeler une url de type controller/action/param1/valeur1 pour me retourner récupérer le récupérer les données et ne pas afficher la vue.

Dernière modification par ManuB (24-01-2008 13:14:31)

Hors ligne

 

#8 24-01-2008 14:03:03

Mr.MoOx
Administrateur
Lieu: Toulouse
Date d'inscription: 27-03-2007
Messages: 1444
Site web

Re: [1.0.3] - Mise à jour de listes liées dans la vue

En utilisant Zend_Controller_Request_Http::isXmlHttpRequest() (qui retourne un booleen) il te suffit de désactiver le viewRenderer ($this->_helper->viewRenderer->setNoRender()) puis d'apeller la vue que tu souhaite avec $this->view->render('.../.../tavue.phtml') ou $this->render('tavue','tondossierdevuecontroller',...)

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages