Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > symfony
symfony Forum d'entraide sur le framework PHP symfony. Avant de poster : cours symfony et FAQ symfony
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 19/05/2008, 12h53   #1
Rédacteur
 
Avatar de Giovanny Temgoua
 
Étudiant
Inscription : novembre 2003
Messages : 3 831
Détails du profil
Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : novembre 2003
Messages : 3 831
Points : 2 826
Points : 2 826
Par défaut [AJAX] drop_receiving_element et mise à jour de deux zones distinctes

Bonjour,

Je me suis inspiré de l'exemple AJAX de drag&drop pour commencer une ptite application.

La différence est qu'on peut dropper dans les deux sens et donc je souhaiterai que l'élément qu'on drop sur la zone 2 disparaisse de la zone 1.

Le drop fonctionne correctement. Seulement, la zone 2 est bien raffraîchie mais je ne trouve pas l'astuce ou la fonction, pour raffraichir en même temps la zone 1.

Quelqu'un aurait-il une idée ?

Merci
Giovanny Temgoua est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/05/2008, 09h22   #2
Membre régulier
 
Inscription : septembre 2006
Messages : 138
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 138
Points : 81
Points : 81
Envoyer un message via MSN à phpiste
Salut ,
Tu peut envoyer du java script dans le résultat issue de ton script coté serveur
qui contient lui meme un appel ajax qui refraichi ta deuxiemme zone ?
phpiste est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/05/2008, 16h41   #3
Rédacteur
 
Avatar de Giovanny Temgoua
 
Étudiant
Inscription : novembre 2003
Messages : 3 831
Détails du profil
Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : novembre 2003
Messages : 3 831
Points : 2 826
Points : 2 826
Citation:
Envoyé par phpiste Voir le message
Salut ,
Tu peut envoyer du java script dans le résultat issue de ton script coté serveur
qui contient lui meme un appel ajax qui refraichi ta deuxiemme zone ?
Tu pourrais me donner un exemple stp ?

En gros, j'ai ceci

Zone 1 : Zone avec des modules optionnels
zone 2 : zone avec des modules choisis par un étudiant

Chaque zone est dans un div comme dans le tuto Ajax officiel et donc chaque zone a un

Code :
<?php drop_receiving_element?>
avec l'id du div ainsi que l'id de la zone où j'ai inséré le partial.

Quand je drop de Zone 1 vers zone 2, zone 2 est bien mis à jour. Mais j'aimerai en même temps que zone 1 soit mis à jour.

Un exemple si possible testé m'aiderait énormément.

Merci
Giovanny Temgoua est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/05/2008, 17h42   #4
Membre régulier
 
Inscription : septembre 2006
Messages : 138
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 138
Points : 81
Points : 81
Envoyer un message via MSN à phpiste
Comme le tutorial du shoping cart dans le site officiel il a crée un fichier template(_cart.php) qui contient le resultat ajax des ipods ajoutés

tu ajoute dans ton fichier template un appel ajax comme celui dans ta page principale qui mait à jour ta deuxiemme div
phpiste est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/05/2008, 18h54   #5
Rédacteur
 
Avatar de Giovanny Temgoua
 
Étudiant
Inscription : novembre 2003
Messages : 3 831
Détails du profil
Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : novembre 2003
Messages : 3 831
Points : 2 826
Points : 2 826
Mon problème reste entier.

Comment rajouter cet appel AJAX ? Tu écris quoi exactement ?

Concrètement, j'ai ceci :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<div id="listechoix">
drop_receiving_element("listechoix", array('update' =>'majlistechoix'), ....)
<div id="majlistechoix">
<?php include_partial("listechoix")?>
</div>
</div>
 
 
<div id="choix">
drop_receiving_element("choix", array('update' =>'majchoix'), ....)
<div id="majchoix">
<?php include_partial("choix")?>
</div>
</div>
Dans le fichier _choix.php, tu mets quoi concrètement pour déclencher la MAJ de l'id majlistechoix ?
Giovanny Temgoua est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/05/2008, 13h25   #6
Membre régulier
 
Inscription : septembre 2006
Messages : 138
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 138
Points : 81
Points : 81
Envoyer un message via MSN à phpiste
Excuse pour le retard j'etait un peut chargé ;

Normalement lorsque tu ajoute dans _choix.php un ptit :

Code :
1
2
3
4
5
6
7
8
echo javascript_tag(
  remote_function(array(
    'update'  => 'Zone1',
    'url'     => 'Le nom de votre module/le nom de l'action qui va mettre à jour Zone1',
    'script' => true ,
  ))
)
//script : true => pour traiter le script generé dans _choix.php
ça doit marcher et je t'ai envoyer dans les pieces jointes un module nommé ajax simple à tester

Bonne continuation
Fichiers attachés
Type de fichier : zip ajax.zip (2,5 Ko, 9 affichages)
phpiste est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/05/2008, 13h49   #7
Membre régulier
 
Inscription : septembre 2006
Messages : 138
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 138
Points : 81
Points : 81
Envoyer un message via MSN à phpiste
En effet il ya une solution + élégante :
Dans la page principale :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
 
 
echo javascript_tag(
  remote_function(array(
    'update'  => 'Zone2',
    'url'     => 'ajax/updatediv1',
	'script' => true ,
	'complete' => remote_function(array(
							'update'  => 'Zone1',
    						        'url'     => 'Le nom de votre module/le nom de laction qui va mettre à jour Zone1',
							'script' => true)), 
  ))
)

Lorsque l'appel ajax n:1 se termine ; il déclanche automatiquement l'appel num:2
phpiste est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/05/2008, 15h26   #8
Rédacteur
 
Avatar de Giovanny Temgoua
 
Étudiant
Inscription : novembre 2003
Messages : 3 831
Détails du profil
Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : novembre 2003
Messages : 3 831
Points : 2 826
Points : 2 826
On devrait t'appeler symfoniste

Je connaissais pas cette fonction en fait et effectivement cà résoud bien mon problème ! Tout fonctionne impecc maintenant.

Perso, j'ai tellement galéré dans ce truc que je vois bien une FAQ symfony sur developpez. Tu t'y connais bien de toutes évidences, cà t'intéresserait peut être de mettre ton expérience sur un support autre que ton cerveau

Giovanny Temgoua est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/05/2008, 18h29   #9
Membre régulier
 
Inscription : septembre 2006
Messages : 138
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 138
Points : 81
Points : 81
Envoyer un message via MSN à phpiste
de rien
phpiste 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 01h39.


 
 
 
 
Partenaires

Hébergement Web