Partage
  • Partager sur Facebook
  • Partager sur Twitter

JQuery & Ajax - Lien ...

Sujet résolu
    23 octobre 2008 à 14:34:05

    Bonjour,
    Je vous donne déjà le code :

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>TITRE</title>
    	<link rel="stylesheet" type="text/css" href="style.css" />
        <script type="text/javascript" src="jquery.js"></script>
    
    	<script type="text/javascript">
    		$(document).ready(function() {
    			$('a').click(function() {	
    				if($(this).attr('class') == 'li') {
    					var link = $(this).attr('id');
    
    					$('#contenu').slideUp('normal', function() {
    						$('#contenu').load('load.html', function() {
    							$('#contenu').slideDown('normal');
    						});
    					});
    					return false;
    				} else {
    					alert('Test');
    				}	
    			});
    		});
    	</script>
    </head>
    <body>
        	<a id="a" class="li">Accueil</a><br />
            <a id="t" class="li">Passer des tests</a><br />
            <a id="q">Proposer des questions</a><br /><br /><br />
        <div id="contenu"></div>
    </body>
    </html>
    


    <a id="q">Proposer des questions</a><br /><br /><br />
    <a id="q">Proposer des questions</a><br /><br /><br />
    <a id="q">Proposer des questions</a><br /><br /><br />
    


    Le code JQuery charge le fichier load.html quand l'on clique sur un lien quand les lien appartiens a la class "li", sinon juste un alert.

    Dans le fichier load.html se trouve des liens, qui logiquement qu'on l'on clique dessus devrais afficher un "alert", mais cela ne fonctionne pas. Comment remédié a cela ?


    Un grand merci a ceux qu'il me répondront ou me lirons.
    • Partager sur Facebook
    • Partager sur Twitter
      23 octobre 2008 à 15:36:04

      On rencontre souvent ce problème que j'ai également avec Prototype mais surement, comme pour Prototype, les fichier appelés dans une DIV via une méthode AJax et qui contiennent du javascript ont ce javascript non évalué. En gros, le javascript de ton fichier load.html n'est pas lu et comme qui dirait éffacé.
      Pour sa je pense que tu dois passer un paramètre de ta fonction qui met à jour ta DIV avec eval: true,
      ce qui permettra d'éxécuter ton javascript. Mais jQuery doit avoir sa propre fonction qui permet de remédier à ce problème. D'autres plus spécialisé que moi en javascript seront + aptes à te répondre. ;)
      • Partager sur Facebook
      • Partager sur Twitter
        23 octobre 2008 à 17:31:27

        La réponse que tu me propose ne correspond pas a mon problème.
        Le code que je charge ne contient pas de JavaScrip si cela était le cas, ta réponse serait ma solution.
        • Partager sur Facebook
        • Partager sur Twitter
          23 octobre 2008 à 17:51:51

          Si tu es sous Firefox, tu peux facilement débogguer sur ta paga où se trouve le problème:
          Outils => Console d'érreur
          Sa t'aidera beaucoup déja.
          • Partager sur Facebook
          • Partager sur Twitter
            23 octobre 2008 à 19:51:00

            Je crois que tu n'a pas compris mon problème.
            Je n'est aucune erreur de script.
            Je place un événement sur tout mes liens.
            Je charge un code externe en "Ajax"
            Les événement ne se place pas sur le nouveau code.
            • Partager sur Facebook
            • Partager sur Twitter
              26 octobre 2008 à 10:53:06

              J'ai exactement le meme probleme un peu plus haut, toujours sans solution correcte, celle que j'ai c'est effectivement de joindre une balise <script> dans ton script serveur, et d'y mettre tout le JS dont tu as besoin dedans.
              • Partager sur Facebook
              • Partager sur Twitter
                26 octobre 2008 à 11:07:39

                Bonjour,
                J'ai résolut mon problème. Et pour t'aider (Et les autre) je vous explique ma réflexion.

                Deux secondes de réflexion :
                Comment fonction JQuery ?
                Quand JQuery passe dans le code, il ajour des événement sur des éléments de la page.
                Donc mon morceau de code, ajoute bien a tout les liens un événement.
                Ensuite je charge un contenu, mais on ne repasse pas le code JavaScript qui place des événements.

                Le résulta est donc logique, il faut repasser le code JavaScript dans une boucle pour remettre les événement sur les liens.

                CQFD
                • Partager sur Facebook
                • Partager sur Twitter

                JQuery & Ajax - Lien ...

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                • Editeur
                • Markdown