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

jQuery Discussion :

Rechercher div dans résultat requête GET


Sujet :

jQuery

  1. #1
    Membre émérite Avatar de Geoffrey74
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2007
    Messages
    515
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2007
    Messages : 515
    Par défaut Rechercher div dans résultat requête GET
    Bonsoir,

    j'effectue une requête GET, qui récupéré l'intégralité d'une page, et j'aimerai trier ce résultat pour ne récupérer que le contenu d'une div, dans le but de rafraichir la div sans avoir à recharger la page, l'id de la div en question est menucentre.

    Quelqu'un aurai une piste à me donner pour faire ça ou est-ce tout simplement pas possible ?

    Pour info, voici mon petit bout de code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $.get( "game.php", function( data ) {
    	/* Recherche de la div dont l'id est menucentre */
    });
    Par avance, merci.

    EDIT:

    mon sommeil est très efficace ! J'ai eu une idée de piste à creuser avec : Chaine.substring(position1, position2)
    Je met 2 commentaires avant et après la div je recherche leur position avec Chaine.indexOf(tofind)

    C'est du bricolage mais à mon niveau je ne connais pas d'autre méthode, donc si vous en avez une, je prend

  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 : 55
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Etant donné ton besoin, c'est plutôt .load() que tu devrais utiliser...
    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
    Membre émérite Avatar de Geoffrey74
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2007
    Messages
    515
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2007
    Messages : 515
    Par défaut
    Bonjour,

    merci pour ta réponse, cependant, load me remplace le contenu de ma div par le contenu entier de la page

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $( "#menucentre" ).load( "game.php" );
    De mon côté j'ai avancé, ça marche presque, juste un soucis de synchro je pense

    J'ai mon code qui est exécuter à l’appuie sur un lien :
    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
    24
    25
    function RefreshMenucentre (){
    	$.get( "game.php", function( data ) {
    		var Pos1 = data.indexOf('|');
    		var Pos2 = data.indexOf('°');
    		var MyDiv = data.substring(Pos1+5, Pos2-5);
    		$( "#menucentre" ).html( ' MyDiv' );
    	});
    }
    $("#frame").attr("src", "game.php?page="+Page);
    $('#diviframe').dialog({
    	modal:false,
    	height: h,
    	minHeight: 300,
    	width: w,
    	minWidth: 300,
    	show: {
    		effect: "fade",
    		duration: 500
    	},
    	hide: {
    		effect: "fade",
    		duration: 500
    	}
    }); 
    RefreshMenucentre();
    Donc avec ça, ma div menucentre est bien recharger, simplement elle l'est avant que la ligne $("#frame").attr("src", "game.php?page="+Page); soit terminée..

    Si je règle ça, tout est OK

  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 : 55
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    load me remplace le contenu de ma div par le contenu entier de la page
    Arf... désolé, c'est de ma faute : j'avais mis un lien vers la doc en croyant que tu la lirais (enfin, au moins jusqu'à Loading Page Fragments)...
    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
    Membre émérite Avatar de Geoffrey74
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2007
    Messages
    515
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2007
    Messages : 515
    Par défaut


    J'essaie d'aller trop vite du coup je suis passé à côté

    Du coup, forcément, ça fonctionne mieux, mais je reste sur mon problème de synchro


    Pour être plus précis dans le fonctionnement que je souhaite, en gros, dans me menu centre, j'ai une image qui clignote à réception d'une nouveau message, dès que je clic dessus, ma messagerie s'ouvre dans une frame avec jquery dialog, ça c'est ok, ça c'est fonctionnel, simplement, quand je ferme la fenêtre, l'image clignote toujours...

    Donc, il faudrait que le contenu se recharge, grâce à ton magnifique méthode , mais uniquement après que ma frame soit chargée.

    J'ai une idée qui me vient en tête, j'vais voir si ça fonctionne.

  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 : 55
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Comme tous les éléments dits remplacés (images, iframes etc.), les iframes possèdent un événement load très utile pour effectuer des traitements une fois son contenu chargé.
    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

  7. #7
    Membre émérite Avatar de Geoffrey74
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2007
    Messages
    515
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2007
    Messages : 515
    Par défaut
    Ah, ça marche !

    Merci beaucoup en tout cas

    J'ai mis ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $("#frame").attr("src", "game.php?page="+Page);
     
    $('#frame').load(function() {
    	RefreshMenucentre();
    });

  8. #8
    Membre émérite Avatar de Geoffrey74
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2007
    Messages
    515
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2007
    Messages : 515
    Par défaut
    Re,

    je me suis rendu compte d'un petit bug, en fait, quand je recharge ma div, il charge ma div dans la div, du coup, je me retrouver avec 2x la déclaration de la même div ...

    Vu qu'un bout de code vaut mieux qu'un long discourt ...

    Avant
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    <div id="menucentre">......</div>
    Exécution de la fonction
    Code JQuery : Sélectionner tout - Visualiser dans une fenêtre à part
    $( "#menucentre" ).load( "game.php #menucentre" );
    Après
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    <div id="menucentre"><div id="menucentre">......</div></div>


    EDIT;

    Après une journée de recherche, j'ai trouvé !

    En fait, d'après ce que j'ai compris, quand on veut charger un fragment d'une page dans une div, il faut lui passer le conteneur en paramètre et non pas la div, sinon il le prend comme le conteneur de double donc la balise div.

    Pour contourné le problème, il faut donc, soir lui passer un conteneur, soit lui préciser de remplacer toute la div, ce que j'ai fais par cette commande :

    Code JQuery : Sélectionner tout - Visualiser dans une fenêtre à part
    $( "#menucentre" ).load( "game.php #menucentre > *" );

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

Discussions similaires

  1. Vérifier une chaîne dans résultat requête
    Par bronon dans le forum Requêtes
    Réponses: 6
    Dernier message: 07/04/2014, 12h09
  2. [PHP 5.3] modifier Range dans une requête GET HTTP
    Par moukit233 dans le forum Langage
    Réponses: 2
    Dernier message: 18/10/2012, 17h41
  3. [AC-2003] nombre décimal dans résultat requête SQL
    Par pikameuh dans le forum VBA Access
    Réponses: 2
    Dernier message: 07/06/2011, 12h23
  4. Regrouper informations dans résultat requête
    Par 30avril1989 dans le forum Requêtes et SQL.
    Réponses: 13
    Dernier message: 09/06/2010, 14h25
  5. Avoir des zéro dans résultats requête
    Par CBen dans le forum Requêtes et SQL.
    Réponses: 9
    Dernier message: 18/10/2007, 16h45

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