|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité régulier
![]() Inscription : juillet 2002 Messages : 27 ![]() |
Bonjour,
Je me pose une question concernant la faisabilité d'une action que je souhaite réaliser. Avant de la formuler voici quelques informations nécessaires à la compréhension de la question. Je possède une page php/html avec un formulaire. L'utilisateur est invité à choisir une option parmi x boutons radio. En fonction de celui qui à été coché j'incorpore la suite du formulaire (ceci en Ajax, requête HXR). Dans cette deuxième partie du formulaire ce trouve un champ avec un plugin autocomplete. Via la librairie Jquery et le plugins associé. Mon problème est que je n'arrive pas à faire fonctionner l'autocomplete de ce champ. Si j'affiche uniquement la page chargé via l'ajax le plugin fonctionne. Ma question est donc la suivante, est t'il possible de charger un fichier en Ajax dans un autre fichier lui même chargé en Ajax ? D'avance merci pour vos lumières. |
|
|
00
|
|
|
#2 |
|
Membre confirmé
![]() Directeur technique Inscription : mars 2007 Messages : 192 ![]() |
Tu peux effectivement charger de l'ajax via une requete xhr, car au final ce n'est que du javascript. Après il faut que tu fasse attention au moment de charger les libraires jquery (l'autocomplete par exemple), et que les chemins soient respectés, par rapport au fichier source de chargement.
Poste ton code, si tu veux qu'on t'aide à trouver ce qui ne fonctionne pas dans ton script.
__________________
Mon Blog sur le developpement, la stratégie et les performances web |
|
00
|
|
|
#3 | ||||||||
|
Invité régulier
![]() Inscription : juillet 2002 Messages : 27 ![]() |
Merci pour ta réponse.
admin_formulaire.php : Code :
listes_xhr.js : Code :
Code :
form_sec_esp.php : Code :
|
||||||||
|
|
00
|
|
|
#4 |
|
Invité régulier
![]() Inscription : juillet 2002 Messages : 27 ![]() |
Voici ce que donne le code en image :
![]() Je sélectionne le secteur "Espace verts" ![]() Et ce que ca devrait donner mais ne donne pas :
|
|
|
00
|
|
|
#5 |
|
Invité régulier
![]() Inscription : juillet 2002 Messages : 27 ![]() |
Autre représentation schématique de ma question.
|
|
|
00
|
|
|
#6 |
|
Invité régulier
![]() Inscription : juillet 2002 Messages : 27 ![]() |
En sachant que la partie droite (celle du secteur batiment) fonctionne.
Mais le script Ajax de deuxième niveau qui est appelé est le même qu'au premier niveau (c'est juste une autre fonction) ce qui n'est pas le cas pour la partie gauche qui au deuxième niveau fait appel à un autre script. Cela est t'il donc possible ? (parce que c'est la que je bloque). D'avance merci |
|
|
00
|
|
|
#7 | ||
|
Membre confirmé
![]() Directeur technique Inscription : mars 2007 Messages : 192 ![]() |
Tout d'abord pour te rassuré, ton problème est largement résolvable. C'est juste un problème aux niveaux de quand sont fait les appels jquery.
Tu fais un appel de ton autocomplete sur #site_esp, alors que celui n'es crée qu'apres interaction utilisateur. Le plugin ne peut donc pas fonctionné et te génère surement une erreur (regarde dans ta console) Code :
- soit tu fait ton appel .autocomplete qu'apres affichage de ton input, - soit tu créé dès le début, ton input site_esp que tu cache dans un premier temps ( display:none) puis que t'affiche ensuite En esperant que ca regle ton problème
__________________
Mon Blog sur le developpement, la stratégie et les performances web |
||
|
00
|
|
|
#8 |
|
Invité régulier
![]() Inscription : juillet 2002 Messages : 27 ![]() |
Bonjour Julien,
Je te remercie d'avoir pris le temps de lire ce sujet et d'y avoir apporté ta contribution. La lecture de ta réponse me rassure mais je n'ai cependant pas réussi à le faire fonctionner. Dans le premier cas, placer le script après l'input n'a rien changé et dans le deuxième cas cela me semble pas possible car je ne peu avoir qu'un seul champ avec l'id="site_esp". De plus utiliser l'option display dans ce cas ne convient pas car l'input est appelé via une autre page php lors de l'include. Ton message m'ayant redonné espoir je vais continuer de chercher la solution à ce problème (me faudrait un peu de NZT-48 ^^). EDIT : Lorsque je fais manuellement l'include de la page contenant la suite de mon formulaire (sans passer par ma première fonction ajax), mon champ autocomplete fonctionne correctement. Pour trouver les erreurs j'utilise firebug sous Firefox ou Chrome, mais ils ne me remonte aucune erreur. Ils ne détectent peut être que les erreurs du premier niveau... |
|
|
00
|
|
|
#9 |
|
Membre confirmé
![]() Directeur technique Inscription : mars 2007 Messages : 192 ![]() |
Dans le premier cas, placer le script après l'input n'a rien changé
=> il ne faut pas que tu place ton script après l'input, mais plutot que tu fasses ton appel .autocomplete() dans le callback de ton appel ajax. dans le deuxième cas cela me semble pas possible car je ne peu avoir qu'un seul champ avec l'id="site_esp". De plus utiliser l'option display dans ce cas ne convient pas car l'input est appelé via une autre page php lors de l'include. => il ne faut pas que tu créé un 2e input, mais seulement que tu créé ton input dans la premiere page. L'option display est tout à fait compatible avec ton cas. Il te suffit de faire un .show() ou un .display='block' dans ton callback ajax
__________________
Mon Blog sur le developpement, la stratégie et les performances web |
|
00
|
|
|
#10 | |
|
Invité régulier
![]() Inscription : juillet 2002 Messages : 27 ![]() |
Citation:
Je me permet une dernière fois de faire appel à toi. Ci-joint un site de test avec mon problème : site de test J'ai également mis dessus une capture de chaque page. D'avance merci |
|
|
|
00
|
|
|
#11 |
|
Membre confirmé
![]() Directeur technique Inscription : mars 2007 Messages : 192 ![]() |
Ya un problème dans le lien.
__________________
Mon Blog sur le developpement, la stratégie et les performances web |
|
00
|
|
|
#12 |
|
Invité régulier
![]() Inscription : juillet 2002 Messages : 27 ![]() |
|
|
|
00
|
|
|
#13 |
|
Membre confirmé
![]() Directeur technique Inscription : mars 2007 Messages : 192 ![]() |
Le problème vient bien du moment ou tu appel ta fonction autocomplete. Il faut que tu fasse ton appel dans ta fonction load_sec apres ton actualiserNextStep. La tu fait ton appel avec le $().ready() qui lui est relatif au document principal et non pas au chargement ajax.
Par exemple essaye de mettre un alert() avant ton .autocomplete, tu veras que ton code, dans l'état actuel n'est jamais exécute. Autres conseil, evites les SELECT *, et vu que t'utilises du jquery, la fonction $.ajax() te permettra de faire pas mal de chose de manière beaucoup plus simple.
__________________
Mon Blog sur le developpement, la stratégie et les performances web |
|
00
|
|
|
#14 |
|
Invité régulier
![]() Inscription : juillet 2002 Messages : 27 ![]() |
Bonjour Julien,
Je voulais te remercier d'avoir pris le temps de m'aider. J'ai grâce à toi compris mon erreur. Merci également pour tes conseils. Je te souhaite de bonne fêtes de noël. Cordialement, Sylvain |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com