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

JavaScript Discussion :

[AJAX] positionnement dans la page suite à une requête Ajax


Sujet :

JavaScript

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 9
    Points : 6
    Points
    6
    Par défaut [AJAX] positionnement dans la page suite à une requête Ajax
    Bonjour,

    j'utilise une requête AJAX (qui appelle un fichier PHP) pour mettre à jour le contenu de lignes (<tr><td>...</td></tr>) dans un tableau HTML.

    le tableau HTML fait pas loin de 500 lignes, chacune d'entres elles étant susceptible d'être mise à jour.

    Mon souci c'est qu'après chaque requête ajax, le navigateur se positionne tout au début de la page (en haut du tableau HTML).
    Si je clique sur la ligne 150 pour la mettre à jour, je ne vois pas la mise à jour car je me retrouve aussitôt en haut du tableau

    Quelqu'un aurait une solution à ce problème ?

    Merci d'avance, Ascella

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 418
    Points
    91 418
    Billets dans le blog
    20
    Par défaut
    J'imagine que la requête est lancée depuis un lien du type :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="#" onclick="fonction_ajax()">
    Si c'est le cas, il suffit de rajouter :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="#" onclick="fonction_ajax(); return false">
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 9
    Points : 6
    Points
    6
    Par défaut
    Bonjour Bovino,

    merci de ta réponse.

    En fait je n'utilise pas d'attribut onXxx dans mes éléments html.
    Ils sont pourvus d'un id ou d'une classe identifiante.
    Puis j'utilise un gestionnaire d'événements qui associe à chaque élément html la bonne fonction javascript.

    J'ai trouvé une solution à mon problème, la méthode Element.scrollTo(elt), j'utilise prototype au fait, qui fait défiler si besoin la vue du navigateur de façon à ce que l'élément y soit visible.

    Mais c'est pas encore top.
    (ex: je clique sur la ligne 150, la mise à jour à lieu, le navigateur se positionne en haut de page, puis la vue défile jusqu'à ce que la ligne 150 soit visible).

  4. #4
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 418
    Points
    91 418
    Billets dans le blog
    20
    Par défaut
    Le problème vient du fait (je par toujours du principe que ta requête est sur une ancre, faute de code...) que ton lien href="#" pointe vers le haut de la page.
    Pour parer à cela, tu peux, dans la fonction appelée dans Event.observe, ajouter au début :
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 9
    Points : 6
    Points
    6
    Par défaut
    Merci Bovino, je viens d'adopter ta méthode.
    ça marche mieux (plus comme je veux) que Element.scrollTo(elt).

    Il faut que je me penche sur la [propagation / non propagation] des événements. Je n'y connais pas grand chose.

    Encore merci pour ton aide.

  6. #6
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 418
    Points
    91 418
    Billets dans le blog
    20
    Par défaut
    Précisément, c'est un des gros avantages de librairies comme Prototype qui offrent une gestion simplifiée des événements là où coder soi-même exige de bonnes connaissances dans les différences entre navigateurs et de créer des solutions spécifiques à chacun d'eux.
    En tout cas, ravi d'avoir été utile
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

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

Discussions similaires

  1. [2.x] Caractères étranges dans le résultat d'une requête AJAX
    Par student_php dans le forum Symfony
    Réponses: 1
    Dernier message: 15/11/2011, 09h05
  2. sélecteur suite à une requête ajax
    Par Couscouss sensei dans le forum jQuery
    Réponses: 13
    Dernier message: 01/12/2010, 19h59
  3. Remplissage d'un div suite à une requête AJAX
    Par totojordi dans le forum Zend Framework
    Réponses: 4
    Dernier message: 19/04/2010, 16h38
  4. Réponses: 5
    Dernier message: 12/12/2009, 19h30
  5. selectionner un élément suite à une requête ajax
    Par nicko_73 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 11/11/2009, 17h41

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