IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques & Frameworks Discussion :

AJAX - Mootools avec IE


Sujet :

Bibliothèques & Frameworks

  1. #1
    Membre régulier

    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 115
    Points : 120
    Points
    120
    Par défaut AJAX - Mootools avec IE
    Bonjour à tous,

    Je suis habitué à faire de l'AJAX (ou plutot du AHAH) dans le cadre de développement d'Appli Web, ou les utilisateurs sont sous FF. Donc pas trop de problèmes or cet fois je dois assurer la compatibilité avec IE7...

    Et j'ai remarqué le phénomène suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <div id="UpdatedWithAjax">
         <a href="#" onclick="uneFonction(1, 2, 3)">Click</a>
    </div>
    Lorsque ma page est affichée de façon "synchrone" le comportement onclick ne pose aucun problème à IE or dès que le DIV est mis à jour via une requête AJAX, IE ignore totalement le onClick.

    Je sais qu'il est déprécié d'utiliser le onClick au sein même de la balise, mais c'est tout de même plus pratique lorsqu'il y a plusieurs paramètres dans la fonction Javascript....

    J'aimerais avoir des avis sur la question, merci d'avance

  2. #2
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Bonjour,
    Citation Envoyé par Al3x Voir le message
    Lorsque ma page est affichée de façon "synchrone" le comportement onclick ne pose aucun problème à IE or dès que le DIV est mis à jour via une requête AJAX, IE ignore totalement le onClick.
    tout dépend de la manière dont tu traites la réponse d'Ajax :
    comment crées-tu le lien (innerHTML ?).
    La fonction appelée était déjà déclarée dans la page, ou est-elle également renvoyée par Ajax et intégrée à ce moment là dans la page ?

    Enfin, es-tu sûr de n'avoir eu aucune erreur JS lors du traitement des appels Ajax précédents ?

    A+
    Pour tout savoir sur l'utilisation du forum

    En postant votre message, n'oubliez pas les Règles du Club.

  3. #3
    Membre régulier

    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 115
    Points : 120
    Points
    120
    Par défaut
    Merci pour ta réponse !!

    Cas d'utilisation typique : Bouton offline/online :

    Script Défini et appelé dans l'entête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
    function online(id, value) {
     
    var url = "includes/ajax/toggle.php";
     
    var requestVar = { 'id': id, 'value': value };
     
    	$('loader').style.visibility = 'visible' ;
     
    	var req = new Request.HTML({
    		url: url,
    		method: 'post',
    		data:requestVar,
    		update: $('online'),
    		onComplete: function(response) {
    			$('loader').style.visibility = "hidden" ;
    		},
    		onFailure:  function(response){
    			alert('Une erreur s\'est produite!');
    				}
    		}).send();
     
    };
    puis dans le code HTML
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <p id="online"><a href="#" onclick="online('id_de_l_enregistrement', '1')">Mettre en ligne</a></p>
    Quand on click le script php retourne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <a href="#" onclick="online('id_de_l_enregistrement', '0')">Mettre hors ligne</a>
    Et via la méthode "onComplete" de ma requête AJAX Mootools, on fait un innerHTML dans le <p id="online"> avec le retour de php.

    Or une fois que j'ai cliqué plus moyen de le refaire dans IE, le onCLick semble tout simplement ignoré. Si je déplace l'appel de la fonction dans le href de la sorte :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <a href="javascript:online('id_de_l_enregistrement'), '0'">Mettre hors ligne</a>
    Ca fonctionne nickel : je peux publier/dépublier à l'infini

    Et je n'ai pas d'alerte Javascript a lors des appels précédent

  4. #4
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    La différence entre tes 2 <a href> est que dans le 2° (celui qui fonctionne) tu ne fais vraiment qu'appeler la fonction online()
    Dans le 1°, par contre, tu appelles la fonction, puis tu es redirigé sur le href (même si "#" = la page courante).
    Aussi essaye quand même
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="#" onclick="online('id_de_l_enregistrement', '0'); return false;">Mettre hors ligne</a>
    Ca permettra justement de ne pas faire appelle au href, et donc d'avoir le même fonctionnement...

    Et puis je m'arrête là, parce que n'utilisant pas Mootools, je ne peux faire que des suppositions

    A+
    Pour tout savoir sur l'utilisation du forum

    En postant votre message, n'oubliez pas les Règles du Club.

Discussions similaires

  1. [MooTools] Traiter une réponse ajax XML avec Mootools
    Par dolu02 dans le forum Bibliothèques & Frameworks
    Réponses: 0
    Dernier message: 24/12/2008, 16h58
  2. [AJAX] probleme avec innerhtml
    Par GTJuanpablo dans le forum Général JavaScript
    Réponses: 13
    Dernier message: 19/03/2006, 13h21
  3. AJAX : Problème avec les accents...
    Par @drien dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 29/01/2006, 14h33
  4. [AJAX] Problèmes avec les caractères accentués
    Par marti dans le forum Servlets/JSP
    Réponses: 10
    Dernier message: 26/10/2005, 14h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo