Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 17-04-2011 18:11:06

le-corse-du-54
Membre
Date d'inscription: 28-02-2011
Messages: 13

Problème d'Ajax dans une action

Bonjour ,
voici mon problème, j'ai un menu avec plusieurs liens ( jusque là normal ) ,
sur un lien j'ai un onmouseover qui affiche un sous menu pour ce lien ( tout est fait en Ajax )
Dans ce sous menu j'ai des liens qui font des actions créées avec : zf create action etc.. ; une fois qu'on clique sur l'action , on arrive donc sur sa vue corresponde, mais le onmouseover ne fonctionne plus ..

je n'arrive pas a comprendre pourquoi !

Hors ligne

 

#2 17-04-2011 18:44:46

Grummfy
Membre
Lieu: Belgique
Date d'inscription: 01-08-2007
Messages: 232
Site web

Re: Problème d'Ajax dans une action

Hello,
si tu savais être plus vague se serait mieux pour t'aider ....

Plus sérieusement, est-ce que tes fichiers js sont bien trouvé (problème de path), aurais-tu une erreur js sur la page, est-ce que dans ton log d'erreur php/apache tu as des messages, ...? Si tu détaillais un peu ton mode de fonctionnement cela pourrait aussi aider ...


Engagez-moi! : Cherche job en Belgique autour de Namur (1 heure de route autour)
blog - ZF Planet

Hors ligne

 

#3 17-04-2011 18:58:41

le-corse-du-54
Membre
Date d'inscription: 28-02-2011
Messages: 13

Re: Problème d'Ajax dans une action

Code html ( layout )

<nav id="menuPrincipal">
            <li id="lien1" class="lien"><a href="#"  onmouseover="afficherMenuFichesClients();setClass('lien1')"><img src="<?php echo $this->baseUrl().'./images/iconeFichesClients.png'; ?>" class="iconeMenu" /> Fiches SAV Clients</a></li>
            <li id="lien2" class="lien"><a href="#"  onmouseover="afficherFichesStockMag();setClass('lien2')" ><img src="<?php echo $this->baseUrl().'./images/iconeFichesMag.png'; ?>" class="iconeMenu" />Fiches SAV Stocks Mag</a></li>
            <li id="lien3" class="lien"><a href="#"  onmouseover="afficherFichesArchives();setClass('lien3')" ><img src="<?php echo $this->baseUrl().'./images/iconeArchives.png'; ?>" class="iconeMenu" />Archives</a></li>
            <li id="lien4" class="lien"><a href="#"  onmouseover="afficherGestion();setClass('lien4')" ><img src="<?php echo $this->baseUrl().'./images/iconeGestion.png'; ?>" class="iconeMenu" />Gestion</a></li>
        </nav>
       
        <section id="sectionPrincipale">
       
            <nav id="menuSection"></nav>
           
            <section id="contenuSection">
               
                <?php echo $this->layout()->content; ?>
           
            </section>
           
        </section>
Voici la fonction Javascript pour afficher le menu  :


// afficher menu sav clients
   
    function afficherMenuFichesClients(){

       
        var xhr = null;
       
        if (window.XMLHttpRequest){
            xhr = new XMLHttpRequest();
        }else if (window.ActiveXObject){
            xhr = new ActiveXObject('Microsoft.XMLHTTP');
        }
       
        xhr.onreadystatechange = function() {
               
            if (xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 0)) {
                document.getElementById('menuSection').style.display = '';
                document.getElementById('menuSection').innerHTML = xhr.responseText;
            }else{
                alert('erreur');
            }
        };
       
        xhr.open("POST", "fonctionsAjax.php", true);
        xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
        xhr.send('action=menuFichesClients');
       
    }
mon fichier fonctionsAjax.php :

<?php


    $action = (isset($_POST["action"])) ? $_POST["action"] : NULL;
   
    $action();
   
    /* affichage du menu des fiches clients */
   
    function menuFichesClients(){

        echo '
            <nav>
                <li><a href="/savLeclerc/public/Fiche/nouvelle-fiche" onClick="" >Nouvelle fiche client</a></li>
                <li><a href="#" onclick="afficherFichesClient()">voir les fiches clients</a></li>
            </nav>';

    }
   
    /* affichage d'un formulaire pour une nouvelle fiche */
   
    function nouvelleFiche(){
        echo "nouvelle fiche";
       
        //$form = new Application_Form_NouvelleFiche();
        /*$form->envoyer->setLabel('Sauvegarder');

        echo $form;*/
       
    }
   
?>

en fait dans l'action : nouvelle-fiche, le onmouseover du menu principal va bien dans sa fonction mais l'Ajax ne fonctionne plus ..

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