IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Zend Framework PHP Discussion :

L'autocompletion ZendX JQuery ne fonctionne qu'après avoir rafraîchi la page (?)


Sujet :

Zend Framework PHP

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 81
    Points : 36
    Points
    36
    Par défaut L'autocompletion ZendX JQuery ne fonctionne qu'après avoir rafraîchi la page (?)
    Salut à tous !

    Voila le soucis, pour le moins singulier :

    Dans un forumlaire classique, l'utilisateur choisit un dossier. je stock cette valeur dans un Zend_Session_Namespace.
    L'utilisateur peut ensuite chercher un fichier dans un champ autocomplété.

    L'autocomplétion ne marche pas au 1er affichage de la barre de recherche, mais si je fais F5 (rafraichissement de ma page) alors la tout fonctionne correctement...
    Vraiment bizarre
    J'ai tout essayé, la je ne vois plus comment faire.

    Voici mon IndexController de recherche :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
     
    public function init()
    {
            $this->view->addHelperPath('ZendX/JQuery/View/Helper','ZendX_JQuery_View_Helper');
    }
     
    public function rechercherAction()
    {
            // je récupère le choix du dossier du form précédent
            $dossier_choisi = new Zend_Form;
            $dossier_choisi = $this->_request->getParam('choix'); 
     
    	// puis je la stock dans un namespace
            Zend_Loader::loadClass('Zend_Session_Namespace') ;  
    	$defaultNamespace = new Zend_Session_Namespace('dossier') ;
    	$defaultNamespace->dossier = $dossier_choisi;      
     
            $this->view->autocompleteElement = new ZendX_JQuery_Form_Element_AutoComplete('ac');
            $this->view->autocompleteElement->setJQueryParam('source', $this->_request->getBaseUrl().'/index/recuperenom'); 
     }
     
        public function recuperenomAction()
        {    
            $tab = array();
     
            $defaultNamespace = new Zend_Session_Namespace('dossier') ;
            $dossier = $defaultNamespace->dossier;
     
            // Appel de mon modele qui va requeter la base
            Zend_Loader::loadClass('Dossiers');
            $dossiers = new Dossiers();
            $results = $dossiers->search($this->_getParam('term'),utf8_decode($dossier))->toArray();
            $resultsCount = $dossiers->search($this->_getParam('term'),utf8_decode($dossier))->count();
     
            // je met les résultats dans un array
            for ($i=0; $i<$resultsCount; $i++)
            {$tab[$i] = utf8_encode($results[$i]['Nom_Modele']);
            }
            // retourne les valeurs dans mon autocompletion
            $this->_helper->json(array_values($tab));
        	}
        }
    Et voici le modèle que j’appelle avec recuperenomAction() pour remplir l'autocomplete :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    class Dossiers extends Zend_Db_Table_Abstract
    {
        protected $_name = 'modeles';
     
        public function search($term,$dossier)
        {	
        	$select = $this ->select()
    		->from(array("modeles"), array("Nom_Modele", "Nom_Dossier"))
    		->where("Nom_Dossier = ?", $dossier)    
    		->where("Nom_Modele LIKE '$term%'")
    		->order("Nom_Modele")
    		->limit(10);
     
    		$rows = $this->fetchAll($select);
    		return $rows;
        }
    }
    Quelqu'un a-t-il déja eus quelque chose de similaire ? Pourquoi mon site marche qu'après avoir reloadé ma page ?
    Une variable se perdrait-elle en cours de route ?

    Merci !!

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 81
    Points : 36
    Points
    36
    Par défaut
    JE viens de me rendre compte que ce problème arrive sur IE, pas sur chrome...
    de plus en plus bizarre...

Discussions similaires

  1. Réponses: 1
    Dernier message: 02/03/2015, 12h43
  2. Page qui fonctionne correctement après avoir effacé les cookies
    Par MarathonMan3 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 09/11/2011, 19h14
  3. Conserver l'état d'un menu déroulant après avoir changé de page
    Par coolzic dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 04/10/2009, 14h41
  4. Réponses: 3
    Dernier message: 21/09/2009, 11h44
  5. Requête ne fonctionne plus après avoir 'vider' les champs ?
    Par chapeau_melon dans le forum WinDev
    Réponses: 9
    Dernier message: 14/10/2007, 11h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo