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 :

Ajax et Jquery


Sujet :

jQuery

  1. #1
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Avril 2005
    Messages
    258
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2005
    Messages : 258
    Points : 165
    Points
    165
    Par défaut Ajax et Jquery
    Bonjour a tous,
    au sein de ma page web j'ai une section que j'aimerai recharge via ajax. Ce qui marche tres bien :p
    seul probleme c'est que cette portion de page a son fonctionneemnt propres et necessite aussi un peu de Jquery ! Et le probleme c'est que mon Jquery qui arrive n'est plus analyse :'(
    ce que je comprends parce que la fonction

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
         $(document).ready(function(){
    n'est pas execute !!! Il y a t-il a moyen pour le faire ?? parce que bien evidement le javascript normal fonctionne mais c'est quant meme beaucoup plus lourd a ecrire :'(

    y'a t-il une solution ?
    merci

  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 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    C'est pas très clair tout ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $(document).ready(function(){
    exécute le code lorsque la page a fini de se charger, donc il n'y a aucune raison qu'il soit lancé lorsque tu mets à jour du contenu puisque précisément, la page n'est pas rechargée (ce qui est l'utilité d'Ajax).
    Il faut réaffecter les fonctions souhaitées à ton nouveau contenu une fois que celui-ci est inséré dans la page.
    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 habitué
    Profil pro
    Étudiant
    Inscrit en
    Avril 2005
    Messages
    258
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2005
    Messages : 258
    Points : 165
    Points
    165
    Par défaut

    $(document).ready(function(){

    exécute le code lorsque la page a fini de se charger, donc il n'y a aucune raison qu'il soit lancé lorsque tu mets à jour du contenu puisque précisément, la page n'est pas rechargée (ce qui est l'utilité d'Ajax).
    ca je suis bien d'accords en fait c'est un peu ce que j'essayais d'expliquer

    Il faut réaffecter les fonctions souhaitées à ton nouveau contenu une fois que celui-ci est inséré dans la page.
    Je pense que c'est ce que je cherche ! mais je fait ca comment ?

    merci de ta reponse,
    Jerome

  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 220
    Points
    91 220
    Billets dans le blog
    20
    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 habitué
    Profil pro
    Étudiant
    Inscrit en
    Avril 2005
    Messages
    258
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2005
    Messages : 258
    Points : 165
    Points
    165
    Par défaut
    Ok ca marche !!!
    merci

  6. #6
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Avril 2005
    Messages
    258
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2005
    Messages : 258
    Points : 165
    Points
    165
    Par défaut
    Je me permet de reprendre cette conversation afin d'avoir un code plus propres :p (c'est donc pas un probleme de fonctionalite)

    Pour le moment j'ai ca :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    $.ajax({
      url: url,
      success: function(html){
         $("#my_content").html(html);
         //et toutes mes fonctions necessaires au fonctionnement de ce content 
         // ....
      }
    du coup j'avais envie pacr que mine de rien il y a pas mal de code ! de mettre tout ce jquery dans un fichier externe et l'appele qu'a ce moment la !
    j'ai pense faire dans le fichier Js:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    jQuery.fn.functions_for_content = function() {
      //ici l'ensemeble de mes fonctions
    }
    et l'appeler de la maniere suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    $.ajax({
      url: url,
      success: function(html){
         $("#my_content").html(html);
         $.fn.functions_for_content();
      }
    mais ca ne marche pas vraiement :'(
    Est ce que je suis sur la bonne voie ?

    merci
    Jerome

  7. #7
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Avril 2005
    Messages
    258
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2005
    Messages : 258
    Points : 165
    Points
    165
    Par défaut
    Personne ne voit de possibilité pour le faire ?

  8. #8
    Rédacteur
    Avatar de marcha
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2003
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 571
    Points : 2 351
    Points
    2 351
    Par défaut
    Salut,

    pourrais-tu donner le code de functions_for_content() ?
    Si ton code fait plus d'une ligne, c'est que tu as mal choisi ton langage !

  9. #9
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Avril 2005
    Messages
    258
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2005
    Messages : 258
    Points : 165
    Points
    165
    Par défaut
    Bonjour,
    cette fonction regroupe l'ensemble des fonctions du formulaires, exemple:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    jQuery.fn.functions_for_content = function() {
      $("#submit").click(function() {
        $("#my_form").submit();
      });
    }
    en gros ce sont toutes ces fonctions qui rendent mon formulaire 'vivant' :p
    merci de ton aide

  10. #10
    Rédacteur
    Avatar de marcha
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2003
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 571
    Points : 2 351
    Points
    2 351
    Par défaut
    Salut,

    Quand tu dis "ça marche pas vraiment" qu'est-ce que ça veut dire ?

    sinon tu peux aussi ajouter un script dans ta réponse pour y placer
    le code qui rends le formulaire fonctionnel au moment de l'injection
    dans le DOM.
    Si ton code fait plus d'une ligne, c'est que tu as mal choisi ton langage !

  11. #11
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Avril 2005
    Messages
    258
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2005
    Messages : 258
    Points : 165
    Points
    165
    Par défaut
    Comment tu faits ca ?
    Parce que pour que le Jquery soit analyse il faut le place dans la fonction success de AJAX!

  12. #12
    Rédacteur
    Avatar de marcha
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2003
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 571
    Points : 2 351
    Points
    2 351
    Par défaut
    Citation Envoyé par suckthewindow Voir le message
    Comment tu faits ca ?
    Parce que pour que le Jquery soit analyse il faut le place dans la fonction success de AJAX!
    Le code javascript renvoyé entre des balise <script> derrière ton contenu
    html sera évalué par JQuery.

    Mais pourrais tu expliquer ce qui ne marche pas dans ton code ? arrives-tu
    à poster un exemple simple qui contient le problème.
    Si ton code fait plus d'une ligne, c'est que tu as mal choisi ton langage !

  13. #13
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Avril 2005
    Messages
    258
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2005
    Messages : 258
    Points : 165
    Points
    165
    Par défaut
    Bonjour,
    alors je pense que y'a un super mal entendu depuis le debut !
    Parce que c'est pas vraiement mon jquery qui ne marche pas ... en gros je charge un formulaire via ajax ! ce formulaire a des actions que je suis obliges pour que le jQuery soit affecté de le mettre dans la function success de AJAX (ca ne marche pas si je le met dans la balise <script> de la page charge via AJAX)
    comme suit:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    $.ajax({
      url: url,
      success: function(html){
         $("#my_content").html(html);
         //et toutes mes fonctions necessaires au fonctionnement de ce content 
         // ....
      }
    Et j'aimerai seulement pouvoir externaliser mes fonctions (qui se trouve ici en commentaire) dans un fichier javascript! Du coup j'aimerai appele a ce niveau de mon code une fonction qui execute mon jQuery!

    Y'a tout dans mon code qui marche sauf que je ne sais pas comment faire ca
    j'espere que j'ai ete plus clair cette fois ci

    encore merci de ton aide,
    Jerome

  14. #14
    Rédacteur
    Avatar de marcha
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2003
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 571
    Points : 2 351
    Points
    2 351
    Par défaut
    Salut,

    Désolé, mais c'est pas plus clair pour moi peux tu poster le code
    des différentes pages impliquées stp ?
    Si ton code fait plus d'une ligne, c'est que tu as mal choisi ton langage !

  15. #15
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Avril 2005
    Messages
    258
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2005
    Messages : 258
    Points : 165
    Points
    165
    Par défaut
    ok allons-y :p
    fichier appelant avec AJAX:
    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
     
      <script>
      $("#test_btn").click(function() {
        $.ajax({
          url: "/test",
          success: function(html){
             $("#my_content").html(html);
             $("#test").click(function(){
                alert("hola");
             });
        }
      });
      </script>
      <body>
        <div id="my_content"> </div>
      </body>
    Fichier appelée avec AJAX:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
      <input type="button" id="test" value="test">
    Pour le moment ca marche comme ca, sauf que ma page charge en vrai c'est pas juste un boutton, il y a donc beaucoup d'action et pas seulement

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
             $("#test").click(function(){
                alert("hola");
             });
    du coup j'aimerai externaliser ces fonctions dans un fichier javascript en faisant par exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    jQuery.fn.functions_for_content = function() {
             $("#test").click(function(){
                alert("hola");
             });
    }
    et avoir dans mon fichier appelant uniquement l'appele a cette fonction:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
      <script>
      $("#test_btn").click(function() {
        $.ajax({
          url: "/test",
          success: function(html){
             $("#my_content").html(html);
             $.fn.functions_for_content();
        }
      });
      </script>
      <body>
        <div id="my_content"> </div>
      </body>
    ou un truc du genre ! Juste pour ne pas avoir 500lignes juste de jQuery dans mes pages

    Encore desole de ne pas avoir ete trop clair,
    merci

  16. #16
    Rédacteur
    Avatar de marcha
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2003
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 571
    Points : 2 351
    Points
    2 351
    Par défaut
    Ok, c'est clair, pardon si je suis un peu dur à la comprenette

    Quand et comment charges-tu ce code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    jQuery.fn.functions_for_content = function() {
             $("#test").click(function(){
                alert("hola");
             });
    }
    Si ton code fait plus d'une ligne, c'est que tu as mal choisi ton langage !

Discussions similaires

  1. Réponses: 6
    Dernier message: 05/03/2010, 14h56
  2. AJAX et JQUERY non interprété
    Par Lianodel dans le forum jQuery
    Réponses: 6
    Dernier message: 23/10/2008, 17h51
  3. [JQuery]FCK editor en ajax avec Jquery
    Par dembroski dans le forum jQuery
    Réponses: 1
    Dernier message: 10/09/2008, 22h55
  4. [JQuery] Requête ajax avec jQuery
    Par ApheX2 dans le forum jQuery
    Réponses: 3
    Dernier message: 28/08/2008, 22h40
  5. ajax avec jquery
    Par artotal dans le forum jQuery
    Réponses: 14
    Dernier message: 20/07/2008, 22h26

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