Aller au contenu

tataye

Membre
  • Compteur de contenus

    5
  • Inscrit(e) le

  • Dernière visite

Réputation sur la communauté

0 Neutre
  1. Je vais reformuler ma demande : Lorsque l'on remplit un élément cible tel qu'un div avec une information récupérée en ajax, comment fait-on pour déterminer que le div a fini d'être rempli ? Faut-il par exemple tester dans un premier temps le statut HTTP, puis faire une boucle qui compare la réponse de la requête avec le contenu du div, et tant que c'est différent on ne sort pas de la boucle... Une idée ?
  2. Bonjour, En attendant de trouver une réponse satisfaisante, j'ai mis un setTimeout sur la fonction qui affecte le code aux liens. Je trouve ça assez cracra mais bon... Si vous avez des suggestions, n'hésitez pas !
  3. J'ai fait une petite fonction toute simple à partir de la librairie Yahoo : var ajax = { succes : function( o ) { document.getElementById(o.argument.cible).innerHTML = o.responseText; }, echec : function( o ) { }, soumettreFormulaire : function(leFormulaire, lURL, laCible) { var formulaire = document.getElementById(leFormulaire); YAHOO.util.Connect.setForm(formulaire); callback.argument = { cible : laCible }; YAHOO.util.Connect.asyncRequest( 'POST', lURL, callback ); }, naviguerVers : function(lURL, laCible) { var url = lURL.split( '?' ); if ( url.length > 0 ) { callback.argument = { cible : laCible }; YAHOO.util.Connect.asyncRequest( 'POST', url[ 0 ], callback, url[ 1 ] ); } } }; var callback = { success : ajax.succes, failure : ajax.echec, scope : ajax }; Le problème que je rencontre est le suivant : Avec la fonction naviguerVers j'alimente un div avec du code html et notamment des liens. J'aimerai pouvoir affecter à ces liens du code javascript. J'ai l'impression que le code se déclenche trop rapidement, les liens ne sont pas encore dans le div quand j'essaie de leur affecter du code. J'en veux pour preuve que lorsque j'intercale un alert entre la fonction naviguerVers et la fonction qui affecte le code aux liens, là ça fonctionne. Y a-t-il possibilité d'avoir un élément qui m'indique que le div est rempli ou que la requête est allée jusqu'au bout de son exécution ? J'ai vu dans la doc de la librairie Yahoo que l'on pouvait ajouter une fonction complete dans le callback, mais je ne vois pas comment l'utiliser pour interrompre toute exécution tant que la requête n'est pas complète. Auriez-vous des suggestions ?
  4. Pour info, ça fonctionne si on fait l'appel de fonction directement à partir du select avec un onchange="maFonction()" J'ai l'habitude de séparer mon code js de mes pages en affectant mes fonctions aux balises avec un YAHOO.util.Event.addListener, et j'aimerai savoir si cela est possible dans ce cas de figure.
  5. Bonjour, J'ai un formulaire comprenant 3 listes déroulantes. Le contenu de la deuxième liste est généré en fonction du choix que l'on a fait dans la première, et le contenu de la troisième est généré en fonction du choix que l'on a fait dans la deuxième. Accessoirement, je travaille avec yui pour l'utilisation du XMLHttpRequest qui me permet d'alimenter les listes sans recharger la page. Mon problème est le suivant : Cas N°1 : j'affecte un id à mon select et ma fonction javascript va pointer sur ce select et l'alimenter avec une liste d'options. Résultat : cela fonctionne très bien sous FF mais pas sous IE où je me retrouve avec une liste vide. Apparemment c'est un problème reconnu. Cas N°2 : j'affecte un id à un div et ma fonction javascript va pointer sur ce div et y mettre mon select avec sa liste d'options. Résultat : cela fonction aussi bien sous FF et sous IE, mais dans ce cas là, la fonction javascript qui aurait dû me permettre d'alimenter la 3ème liste à partir d'un choix dans la 2ème ne fonctionne pas, puisqu'elle a été affectée au chargement de la page à un select qui n'existe plus (celui-ci ayant été re-généré complètement). YAHOO.util.Event.addListener( 'mon2èmeSELECT', 'change', function(e) { ajax.maFonctionAjax( 'LienVersLaPageQuiRenvoieLeSELECT', 'monDIVquiDoitContenirLe3èmeSELECT' ); YAHOO.util.Event.stopEvent(e); } ); On suit toujours ? Mon problème est donc que la fonction affectée au 2ème select qui est générée en 'ajax' est inactive. Pourriez-vous me conseiller ?
×
×
  • Créer...