11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour,

J'ai actuellement un problème javascript.
J'ai deux menu dans une même page, mon menu horizontal pour naviguer entre mes pages et un menu vertical spécifique à une page. Ce menu doit me permettre de modifier le contenu d'une div container. Actuellement, le script fonctionne bien pour le menu vertical mais agit également sur le menu horizontal. Je me retrouve du coup avec mes autres pages qui apparaissent dans ma div container. Comment faire pour que ce script ne s'applique qu'au menu vertical?

Voici le code du script:

</script>
<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
$("#maincontent").empty(); // on vide le div
$("#maincontent").append(donnees); // on met dans le div le résultat de la requete ajax
}
</script>


Déjà thanks pour votre aide
upload/44220-Problememe.jpg
C'est simplement que le contenu que tu récupère via AJAX contient lui-même un menu.

Utilise console.log() pour voir le contenu de la réponse.

Il te suffira donc de filtrer les données récupérées par AJAX pour ne récupérer que le contenu de la page souhaité.

(P.S.: Utilise le coloriage syntaxique la prochaine fois, ça aide à la lecture.)
Modifié par Vaxilart (15 Apr 2012 - 07:37)