Précédent   Forum des professionnels en informatique > PHP > Outils > Zend > Zend Framework
Zend Framework Forum d'entraide sur la programmation PHP avec Zend Framework. Avant de poster -> FAQ ZF, Cours ZF
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 21/04/2011, 15h46   #1
Invité régulier
 
Inscription : mars 2011
Messages : 81
Détails du profil
Informations forums :
Inscription : mars 2011
Messages : 81
Points : 9
Points : 9
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 :
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 :
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 !!
BobbyWeb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/04/2011, 16h53   #2
Invité régulier
 
Inscription : mars 2011
Messages : 81
Détails du profil
Informations forums :
Inscription : mars 2011
Messages : 81
Points : 9
Points : 9
JE viens de me rendre compte que ce problème arrive sur IE, pas sur chrome...
de plus en plus bizarre...
BobbyWeb est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 12h25.


 
 
 
 
Partenaires

Hébergement Web