Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
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.
<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
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
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
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 ( ) 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
Javascript reste flou pour moi...
Si quelqu'un aurait la bonté de me donné un petit exemple çà serai génial....
Hors ligne
Soumission auto lors du changement de valeur du select:
<form id="loulou">... <select name..... onchange="document.getElementById('loulou').submit()"> <options.......
Hors ligne
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
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
Pages: 1