Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Bonjour,
Je débute avec Zend et j'essaye de reprendre un développement en php pour le mettre à sauce MVC.
J'ai une liste déroulante contenant les régions de France. A la sélection d’une région, je dois mette à jour la liste déroulantes des communes et des zones IFN. Malheureusement à la place de m'afficher la liste déroulante des communes, j'obtiens le chargement de la page entière dans mon div.
Du coup, j'ai fait des petits tests. J'ai ajouté une alerte pour voir si je récupérai bien l'identifiant de la liste déroulante région et cela fonctionne. Et sur mon autre liste déroulante (zones IFN), j'ai testé l'affichage d'un texte et là il s'affiche correctement.
J'ai beau faire le tour des forums, je ne vois pas mon erreur (qui doit être énorme à mon avis). Pouvez-vous m'aider?
Merci d'avance
ajax.js
function afficheCommune() { sel = document.getElementById('departement_id'); str = sel.options[sel.selectedIndex].value; alert("valeur ! "+str); $.ajax({ type: "POST", url: "cri/ajaxaffichecommune", data : "val=" + str, success: function(retour){ $('#liste_commune').html(retour); } , error: function(msg){ alert("ERREUR : "+msg); } }); } function afficheIFN() { $.ajax({ type: "POST", url: "cri/ajaxafficheifn", data : "val=" + $(departement_id).val(), success: function(){ $('#liste_ifn').html("tutu..."); } , error: function(msg){ alert("erreur : "+msg); } }); }
ajaxaffichecommune.phtml
valeur : <?php echo $this->val; ?> <select name="commune_id" id="commune_id" size="1"> <option value="">Sélectionner la commune</option> <?php foreach($this->ajaxcommunes as $commune): ?> <option value="<?php echo $commune['id']; ?>"><?php echo $commune['nom']; ?></option> <?php endforeach; ?> </select>
CriController.php
public function ajaxaffichecommuneAction() { //$this->_helper->viewRenderer->setNoRender(); $this->_helper->layout->disableLayout(''); if(isset($_POST['val'])) { $val = $_POST['val']; $commune = new Application_Model_DbTable_Commune(); $select = $commune->select() ->from((array('c' => 'communes')), array('id', 'nom')) ->where("c.actif=true and c.departement_id='?'",$val) ->order('c.nom ASC'); $select->setIntegrityCheck(false); $this->view->val = $val; $this->view->ajaxcommunes = $commune->fetchAll($select)->toArray(); } else { $this->view->val = "ERREUR"; } }
Hors ligne
Pages: 1