Problème javascript/ajax

seizetheday -  
 seizetheday -
Bonjour,
Je suis début en tout ce qui est javascript/ajax, j'espère que vous pouvez me donner un coup de main.

Voici mon problème, J'ai mis en place ce code :

<script type="text/javascript">
$(document).ready(function(){ // le document est chargé
$("a").click(function(){ // on selectionne tous les liens et on d?finit une action quand on clique dessus
page=($(this).attr("href")); // on recuperer l' adresse du lien
$.ajax({ // ajax
url: page, // url de la page ? charger
cache: false, // pas de mise en cache
success:function(html){ // si la requêté est un succès
afficher(html); // on execute la fonction afficher(donnees)
},
error:function(XMLHttpRequest, textStatus, errorThrows){ // erreur durant la requete
}
});
return false; // on desactive le lien
});
});

function afficher(donnees){ // pour remplacer le contenu du div contenu
$("#contenu").empty(); // on vide le div
$("#contenu").append(donnees); // on met dans le div le r?sultat de la requete ajax
}
</script>

A chaque fois que je clique sur un de mes liens, j'ai donc bien ma nouvelle page qui s'affiche dans mon div contenu. Cependant j'aimerais que ça ne s'applique pas à mon menu, de façon à ce que si les gens veulent aller à la page d'accueil celle ci s'ouvre dans un page complète et non dans ma div.

Merci d'avance

2 réponses

Pitet Messages postés 2826 Date d'inscription   Statut Membre Dernière intervention   527
 
Salut,

Une solution possible est d'appliquer ton traitement ajax à tous les liens sauf ceux du menu que tu pourrais identifier en leurs ajoutant une classe.

Par exemple sur chaque lien de ton menu on ajoute la classe menuitem :
<nav>
    <a href="/accueil" class="menuitem">Accueil</accueil>
    <a href="/page1" class="menuitem">Page 1</accueil>
    <!-- ... etc ... -->
</nav>


Puis dans ton code javascript on applique le traitement à tous les liens sauf ceux du menu :
$(document).ready(function(){ 	// le document est chargé
   $('a[class!="menuitem"]').click(function(){ 
      // suite de ton code


Bonne journée
1
seizetheday
 
Merci beaucoup !
Ca semble fonctionner correctement.
Bonne journée
0