[JAVASCRIPT] Comment créer un select dynamiq?
Résolu/Fermé
A voir également:
- [JAVASCRIPT] Comment créer un select dynamiq?
- Comment créer un groupe whatsapp - Guide
- Créer un compte gmail - Guide
- Créer un compte google - Guide
- Comment creer un pdf - Guide
- Créer un compte instagram sur google - Guide
4 réponses
PhP
Messages postés
1770
Date d'inscription
lundi 11 décembre 2000
Statut
Membre
Dernière intervention
23 décembre 2009
606
9 sept. 2007 à 20:18
9 sept. 2007 à 20:18
Hum si c'est celle de Pearl c'est peut être pas buggué alors mais c'est toujours possible hein. Faut pas non plus avoir une confiance aveugle dans les librairies toutes faite. lol
Voici mon explication qui vaut ce quelle vaut : tu exécutes une requête Ajax en mode asynchrone çàd qui rend tout de suite la main au programme et s'exécute en tâche de fond. Maintenant si tu n'attends pas la fin de la requête et que tu continues dans ta fonction AjoutLangue() tu risques de te retrouver avec la variable strLanguesNiveaux vide. Le alert() introduit une sorte de pause c'est pour ça que lorsque tu l'ajoute la requête à le temps de s'exécuter et ta variable est correctement initialisée.
Maintenant c'est juste un coup de chance si ça fonctionne sur IE : il va peut-être plus vite que FF à gérer les requêtes Ajax.
Pour être certain que FireFox passe bien dans le callback place un alert() dedans.
Pour que ça marche tu dois donc mettre tout le code qui charge tes listes dans la fonction de callback :
De plus à ta place je déclarerais la fonction de callback à l'extérieur de la fonction AjoutLangue() car en faisant ainsi tu créés ce qu'on appelle une "closure" (du moins je crois faut dire que j'ai du ml avec cette notion ...) sauf la doc de Pearl te dit de faire de cette façon.
Voici mon explication qui vaut ce quelle vaut : tu exécutes une requête Ajax en mode asynchrone çàd qui rend tout de suite la main au programme et s'exécute en tâche de fond. Maintenant si tu n'attends pas la fin de la requête et que tu continues dans ta fonction AjoutLangue() tu risques de te retrouver avec la variable strLanguesNiveaux vide. Le alert() introduit une sorte de pause c'est pour ça que lorsque tu l'ajoute la requête à le temps de s'exécuter et ta variable est correctement initialisée.
Maintenant c'est juste un coup de chance si ça fonctionne sur IE : il va peut-être plus vite que FF à gérer les requêtes Ajax.
Pour être certain que FireFox passe bien dans le callback place un alert() dedans.
Pour que ça marche tu dois donc mettre tout le code qui charge tes listes dans la fonction de callback :
var callbackNiv = function(result) { strLanguesNiveaux = result; PLACE TON CODE ICI :-) }
De plus à ta place je déclarerais la fonction de callback à l'extérieur de la fonction AjoutLangue() car en faisant ainsi tu créés ce qu'on appelle une "closure" (du moins je crois faut dire que j'ai du ml avec cette notion ...) sauf la doc de Pearl te dit de faire de cette façon.
PhP
Messages postés
1770
Date d'inscription
lundi 11 décembre 2000
Statut
Membre
Dernière intervention
23 décembre 2009
606
8 sept. 2007 à 12:17
8 sept. 2007 à 12:17
Bjr,
A mon avis c'est ton "petit bijoux d'AJAX" qui vaut pas grand chose ...lol !
Ta librairie Ajax doit être bugguée. Pesonnellement, ,ne trouvant pas de classe AJAX digne de ce nom je m'en suis écrit une en JS tout objet.
C'est encore en cours de test mais ça fonctionne déjà sous IE et FF sans problème. ;-)
Si tu veux je peux essayer de te retrouver mon code avec un exemple : par contre c'est pas encore documenté ... T'Oh !!!!!
Sinon cherche une éventuelle erreur dans le code de la librairie Ajax : je sais c'est pas simple ... Eventuellement poste le code ou un lien.
Bon courage
A mon avis c'est ton "petit bijoux d'AJAX" qui vaut pas grand chose ...lol !
Ta librairie Ajax doit être bugguée. Pesonnellement, ,ne trouvant pas de classe AJAX digne de ce nom je m'en suis écrit une en JS tout objet.
C'est encore en cours de test mais ça fonctionne déjà sous IE et FF sans problème. ;-)
Si tu veux je peux essayer de te retrouver mon code avec un exemple : par contre c'est pas encore documenté ... T'Oh !!!!!
Sinon cherche une éventuelle erreur dans le code de la librairie Ajax : je sais c'est pas simple ... Eventuellement poste le code ou un lien.
Bon courage
Et m****,
je me doutais que ca pouvais venir de là, mais comme je débute en DOM je m'étais dis que j'avais fait une boulette.
C'est pas grave je vais aller voir dans cette lib.
Le truc c'est que je crois que c'est la lib Ajax de PEAR donc je pensais que ca ne serait pas buggué.
Bref merci beaucoup PhP de m'avoir aiguillé.
je me doutais que ca pouvais venir de là, mais comme je débute en DOM je m'étais dis que j'avais fait une boulette.
C'est pas grave je vais aller voir dans cette lib.
Le truc c'est que je crois que c'est la lib Ajax de PEAR donc je pensais que ca ne serait pas buggué.
Bref merci beaucoup PhP de m'avoir aiguillé.
C'est exactement ce que je voulais entendre.
Merci c'est trop cool, tes explications sont nikel krom.
Je vais remanier mon petit script pour exécuter mon code là où il doit l'être.
Je pensais à tort que nos amis les browsers étaient des Flash Gordon.
Encore merci PhP et à bientot pr de nouveaux débugages !
Merci c'est trop cool, tes explications sont nikel krom.
Je vais remanier mon petit script pour exécuter mon code là où il doit l'être.
Je pensais à tort que nos amis les browsers étaient des Flash Gordon.
Encore merci PhP et à bientot pr de nouveaux débugages !