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 :

Affichage sur IE [Prototype]


Sujet :

Bibliothèques & Frameworks

  1. #1
    Nouveau membre du Club
    Inscrit en
    Septembre 2006
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 46
    Points : 25
    Points
    25
    Par défaut Affichage sur IE
    Bonjour a tous,

    j'ai un petit soucis sur IE lorsque je fais des requetes AJAX avec prototype (j'utilise le framework PHP Zend et également prototype pour quelques pages). Je n'ai aucun soucis sur firefox, chrome ou Opera mais sur IE, lorsque je dois avoir un affichage après qu'une requete AJAX ait été faite (affichage de tous les utilisateurs du site dans un simple select par exemple), IE ne m'affiche rien et lorsque je passe au dessus de l'emplacement du select, il apparait comme par magie.

    Je ne comprend pas trop pourquoi. Je signale que j'utilise des onglets et IE ne m'affiche également pas certaines images et lorsque ma souris passe à l'intérieur du container de l'onglet, tout apparait comme par magie.

    Pourriez vous m'aider svp.

    Merci et bonne après-midi à tous

  2. #2
    Nouveau membre du Club
    Inscrit en
    Septembre 2006
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 46
    Points : 25
    Points
    25
    Par défaut
    J'ai un second soucis sur Prototype et IE (surement lié au 1er) ...

    J'ai une liste d'utilisateurs, je peux en ajouter ou en retirer.
    Lorsque j'en ajoute, je vois bien que j'ai un utilisateur de plus dans ma base mais au rechargement de la page, j'ai toujours la même liste, sans nouveaux utilisateurs. De même lorsque j'en enlève un, j'ai la même liste alors qu'il a bien été supprimé en base.

    Je précise que ça marche sur FF, Opera et Chrome ...

  3. #3
    Membre expérimenté
    Avatar de gwyohm
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2007
    Messages
    925
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2007
    Messages : 925
    Points : 1 333
    Points
    1 333
    Par défaut
    Peux tu nous montrer un peu de code ?
    on ne dit pas "ça ne marche pas" on dit "je suis incapable de faire fonctionner correctement les outils mis à ma disposition"
    Pas de question technique par MP

  4. #4
    Nouveau membre du Club
    Inscrit en
    Septembre 2006
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 46
    Points : 25
    Points
    25
    Par défaut
    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
    function inviteNewReviewer(pk_paperId, paperTrackingNumber, paperType, paperStatusParam, userState, pk_userId)
    {
        userId=document.getElementById(pk_userId).value;
               new Ajax.Request(
                         "<?php echo $this->url(array('controller'=>'Paper','action'=>'addnewreviewer')) ?>",
                        {
                            method: 'get',
                            asynchronous:false,
                            parameters: {numPaper: pk_paperId, numUser:userId},
                            onComplete:{},
                            onFailure: function() { alert("Une erreur est survenue lors de l'appel AJAX.\nRecharger la page devrait résoudre le problème.") }
                        }
    			);
                getInvitations(pk_paperId, paperTrackingNumber, paperType, paperStatusParam, userState, pk_userId);
                toggleTab(5,5);
    }

    Cela marche sur FF mais sur IE, la suppression ou l'invitation d'un nouvel utilisateur (exemple ci-dessus) est fait en BD mais lors du rechargement de la page, il n'affiche que ce qu'il a en cache et ne prend pas en compte les nouvelles requetes AJAX ...

  5. #5
    Membre expérimenté
    Avatar de gwyohm
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2007
    Messages
    925
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2007
    Messages : 925
    Points : 1 333
    Points
    1 333
    Par défaut
    Salut,

    Attention : onComplete est une fonction, ta déclaration est incorrecte.

    Tu peux nous montrer la fonction getInvitations ?

    Par ailleurs, c'est dommage de faire du synchrone non ? pendant le temps de la requête, le navigateur est freezé...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    new Ajax.Request(
                         "<?php echo $this->url(array('controller'=>'Paper','action'=>'addnewreviewer')) ?>",
                        {
                            method: 'get',
                            asynchronous:false,
                            parameters: {numPaper: pk_paperId, numUser:userId},
                            onComplete:function(){},
                            onSuccess: function(transport) {
                              getInvitations();
                            }
    // ...
    on ne dit pas "ça ne marche pas" on dit "je suis incapable de faire fonctionner correctement les outils mis à ma disposition"
    Pas de question technique par MP

  6. #6
    Nouveau membre du Club
    Inscrit en
    Septembre 2006
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 46
    Points : 25
    Points
    25
    Par défaut
    Je fais du synchrone parce que j'ai plusieurs requetes AJAX qui s'enchainent et je dois attendre que chacune soit terminée pour lancer la suivante ...

    Je ne comprend pas ce que tu veux dire par oncomplet est une fonction ...
    Que dois-je modifier dans ce cas?

    merci

  7. #7
    Membre expérimenté
    Avatar de gwyohm
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2007
    Messages
    925
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2007
    Messages : 925
    Points : 1 333
    Points
    1 333
    Par défaut
    Citation Envoyé par fefe69 Voir le message
    Je fais du synchrone parce que j'ai plusieurs requetes AJAX qui s'enchainent et je dois attendre que chacune soit terminée pour lancer la suivante ...
    C'est pour ça que je te propose d'enchainer tes requêtes via les callback (je te l'accorde, c'était pas très il fallait lire mon exemple dans le détail) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    new Ajax.Request("/URL/requete/1", {
      onSuccess: function(){
        // Cette fonction n'est jouée que si la première requete ajax a réussi
        new Ajax.Request("/URL/requete/2", {
          onSuccess: function(){
     
          }
        });
     
      }
    });
    C'est un double avantage : tu ne freezes pas le navigateur, et en cas d'erreur, tu n'envoies pas une deuxième requête.

    Citation Envoyé par fefe69 Voir le message
    Je ne comprend pas ce que tu veux dire par oncomplet est une fonction ...
    Que dois-je modifier dans ce cas?
    Tu ne déclares pas bien le onComplete : il doit etre déclaré comme une fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    new Ajax.Request("", {
      parameters : { },
      onComplete: function(response){}
    });
    Il manque la partie rouge dans ton code d'origine
    on ne dit pas "ça ne marche pas" on dit "je suis incapable de faire fonctionner correctement les outils mis à ma disposition"
    Pas de question technique par MP

  8. #8
    Nouveau membre du Club
    Inscrit en
    Septembre 2006
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 46
    Points : 25
    Points
    25
    Par défaut
    Je viens de faire ce que tu m'as dit. Ca marche toujours impec' sur FF et sur IE j'ai toujours le même problème.

    Mes requêtes sont imbriquées comme tu m'as dit de le faire. Dans la principale, j'ajoute un utilisateur, puis dans "onSuccess" je récupère la liste mais sur IE la liste est en fait la liste sans les nouveaux utilisateurs.

    Si j'ajoute 10 utilisateurs, ils sont bien en base mais je me retrouve toujours avec ma liste de départ, j'ai l'impression que IE ne prend pas en compte la requête et garde le résultat de la requête qu'il a déjà fait.

    Est-ce un problème récurrent de IE ou moi qui ait mal codé ...?

  9. #9
    Membre expérimenté
    Avatar de gwyohm
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2007
    Messages
    925
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2007
    Messages : 925
    Points : 1 333
    Points
    1 333
    Par défaut
    Tout ce que je disais avant était des recommandations, peux-tu nous montrer comment tu récupères les éléments et comment tu mets à jour ta page après (la fonction getInvitations) ?
    on ne dit pas "ça ne marche pas" on dit "je suis incapable de faire fonctionner correctement les outils mis à ma disposition"
    Pas de question technique par MP

  10. #10
    Nouveau membre du Club
    Inscrit en
    Septembre 2006
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 46
    Points : 25
    Points
    25
    Par défaut
    Ma méthode est getInvitations n'a rien de spécial, IE récupère le résultat de la requête en cache puisque quand je vide le cache, j'ai de nouveau un bon résultat.

    Comment faire pour qu'il ne le fasse pas ...?

  11. #11
    Membre expérimenté
    Avatar de gwyohm
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2007
    Messages
    925
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2007
    Messages : 925
    Points : 1 333
    Points
    1 333
    Par défaut
    As tu essayé de faire tes requetes AJAX en post (par defaut dans prototype mais j'ai vu que tu le forcais en GET dans ton code qui ajoute un invité) ? Je pense que IE ne gère pas de cache en POST. Sinon, en restant en GET, tu peux ajouter un paramètre timestamp, tu auras ainsi une URL différente a chaque fois
    on ne dit pas "ça ne marche pas" on dit "je suis incapable de faire fonctionner correctement les outils mis à ma disposition"
    Pas de question technique par MP

  12. #12
    Nouveau membre du Club
    Inscrit en
    Septembre 2006
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 46
    Points : 25
    Points
    25
    Par défaut
    Merci beaucoup, ça marche nickel avec le post. Je ne voulais pas modifier mon url avec une date donc ça tombe super bien.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. affichage sur ouverture d'un formulaire
    Par DurDur dans le forum Access
    Réponses: 4
    Dernier message: 04/09/2005, 11h31
  2. [debutant]affichage sur le meme niveau
    Par christophebmx dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 10/02/2005, 15h34
  3. Probleme bizarre d affichage sur une radeon 9200 SE
    Par venomelektro dans le forum OpenGL
    Réponses: 6
    Dernier message: 03/12/2004, 10h11
  4. Réponses: 2
    Dernier message: 09/10/2004, 11h35
  5. DBGrid - Affichage sur 2 colonnes
    Par Grouik dans le forum Bases de données
    Réponses: 2
    Dernier message: 20/04/2004, 17h37

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