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 16/08/2011, 22h39   #1
Invité régulier
 
Inscription : février 2008
Messages : 21
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 21
Points : 5
Points : 5
Par défaut [ZF 1.9.5] Zend Framework et Jquery Autocomplete

Bonjour tout le monde,

Je m'arrache les cheveux sur un problème avec l'autocompletion depuis quelques jours...
J'ai un controller qui instancie un champ autocomplete (ZendX_JQuery_Form_Element_AutoComplete) et dans lequel j'ajoute mes données. J'ai ensuite une vue dans laquelle j'affiche ce champ. Jusqu’à là, pas de problème l'autocompletion fonctionne normalement.

Par contre la partie de la page qui comprend ce champ est actualisé par une requête AJAX. Ce champ est donc "recalculé". Je récupère pourtant bien mes données. Mais maintenant impossible de faire fonctionner l'autocompletion. Je passe pourtant par le même ensemble controller/action qu'au début.

Si quelqu'un à une théorie, je suis prêt à l'écouter parce que je suis perdu sur le fonctionnement...
WaWan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/08/2011, 09h56   #2
Modérateur
 
Homme Loïc
Développeur Web
Inscription : février 2011
Messages : 678
Détails du profil
Informations personnelles :
Nom : Homme Loïc
Âge : 26
Localisation : France, Hérault (Languedoc Roussillon)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : février 2011
Messages : 678
Points : 1 041
Points : 1 041
Bonjour,
Montre nous ton code afin que l'on cerne mieux ton problème
5h4rk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/08/2011, 21h01   #3
Invité régulier
 
Inscription : février 2008
Messages : 21
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 21
Points : 5
Points : 5
Alors voici une partie de code.
Dans mon controller :
Code :
1
2
3
4
5
6
7
 
function monaction() {
$autoComplete = new ZendX_JQuery_Form_Element_AutoComplete('name',array(
			'size' => 80, 'margin' => 0, "id" =>"name", "class" => "required"));
			$autoComplete->setValue($value);
			$autoComplete->setJQueryParam('data', $monSuperTableau);
}
Ma vue affiche seulement l'élément :
Code :
1
2
3
4
5
6
7
 
		<div id="elementQuiBouge">
			<label class="description" for="element_1">Data *</label>
			<div>
				<?= $this->autocompleteElement;?>
			</div>
		</div>
Ensuite le problème qui se pose, c'est que j'actualise cette vue (enfin seulement une partie).
Code :
1
2
 
		$("#elementQuiBouge").load("/XXX/moncontroller/monaction/"});
C'est à partir de ce moment là que ça pose problème. Mon autocompletion ne fonctionne plus...
WaWan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/08/2011, 08h17   #4
Modérateur
 
Homme Loïc
Développeur Web
Inscription : février 2011
Messages : 678
Détails du profil
Informations personnelles :
Nom : Homme Loïc
Âge : 26
Localisation : France, Hérault (Languedoc Roussillon)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : février 2011
Messages : 678
Points : 1 041
Points : 1 041
Je voudrais le vrai code et complet car là tu ne passe même pas ton élément à la vue et tu n'est pas dans un formulaire
5h4rk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/08/2011, 09h06   #5
Invité régulier
 
Inscription : février 2008
Messages : 21
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 21
Points : 5
Points : 5
Je n'utilise pas de formulaire Zend.
Pour ce qui est de l'intégration de l'élément je fais seulement un
Code :
1
2
3
4
5
6
7
 
function monaction() {
$autoComplete = new ZendX_JQuery_Form_Element_AutoComplete('name',array(
			'size' => 80, 'margin' => 0, "id" =>"name", "class" => "required"));
$autoComplete->setJQueryParam('data', $monSuperTableau);
$this->view->autocompleteElement = $autoComplete;
}
WaWan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/08/2011, 10h34   #6
Modérateur
 
Homme Loïc
Développeur Web
Inscription : février 2011
Messages : 678
Détails du profil
Informations personnelles :
Nom : Homme Loïc
Âge : 26
Localisation : France, Hérault (Languedoc Roussillon)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : février 2011
Messages : 678
Points : 1 041
Points : 1 041
Cela est normal que plus rien ne fonctionne aprés le rechergement, car ton problème c'est que tu écrase le composant autocomplete et que le jquery ne peut fonctionner que sur des éléments présent avant son chargement.

En gros faudrait que tu recherche une partie différente de ton composant autocomplete
5h4rk est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 18/08/2011, 10h45   #7
Invité régulier
 
Inscription : février 2008
Messages : 21
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 21
Points : 5
Points : 5
J'avais bien peur que ce soit un problème dans ce genre là.
Le problème c'est que pour l'instant j'ai besoin de recharger la partie comprenant également mon composant d'autocompletion.

Merci pour la réponse, ça m'évite de m'arracher d'autres cheveux... Je vais tout de même essayer en passant par du javascript mais j'y crois pas.
WaWan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/08/2011, 11h33   #8
Modérateur
 
Homme Loïc
Développeur Web
Inscription : février 2011
Messages : 678
Détails du profil
Informations personnelles :
Nom : Homme Loïc
Âge : 26
Localisation : France, Hérault (Languedoc Roussillon)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : février 2011
Messages : 678
Points : 1 041
Points : 1 041
Sinon essaye de rappeler la fonction de l'autocomplete aprés le rechergement
5h4rk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/08/2011, 11h51   #9
Invité régulier
 
Inscription : février 2008
Messages : 21
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 21
Points : 5
Points : 5
Je passe déjà par la même action au début que lors du rafraîchissement. Mon autocomplete est donc recréé automatiquement.
WaWan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/08/2011, 13h09   #10
Modérateur
 
Homme Loïc
Développeur Web
Inscription : février 2011
Messages : 678
Détails du profil
Informations personnelles :
Nom : Homme Loïc
Âge : 26
Localisation : France, Hérault (Languedoc Roussillon)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : février 2011
Messages : 678
Points : 1 041
Points : 1 041
Je parle de fonction jquery pas de ton action.

Car ton action au chargement complet de la page génère un code javascript correspondant à ton autocomplete.

Mais ce dernier n'est pas modifier lors du rechargement de seulement une partie de ta page.

Regarde le code source tu devrais comprendre
5h4rk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/08/2011, 14h49   #11
Invité régulier
 
Inscription : février 2008
Messages : 21
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 21
Points : 5
Points : 5
Haaa, ok au temps pour moi.
Oui j'ai remarqué le code javascript généré lors de la création de la page. Je regarderais si il y'a un moyen de le modifier.
WaWan est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h46.


 
 
 
 
Partenaires

Hébergement Web