La Communauté Webmaster  forum rss


  Forum-webmaster
  Technique - programmation
  Javascript / DOM / Ajax
(Modérateurs: Shain, Netah, Lilian, lauryv, ToToMaStEr)
  Changer contenu d'une page sans recharger la page en entier
« Précédent Suivant »
Pages: [1] Descendre
Répondre    Aviser des réponses    Envoyer le sujet    Imprimer
  Auteur  Sujet: Changer contenu d'une page sans recharger la page en entier  (Lu 6035 fois)
Changer contenu d'une page sans recharger la page en entier
« sur: le 26-08-2011 a 11:30:37 »
charly22_85
Membre récent
*

Hors-Ligne

Messages: 19





Voir le Profil    E-Mail
Répondre avec citation

Bonjour,

Voici le site internet de mon club : http://www.usmeilleraiefoot.fr

Dans la rubrique "Toute l'actualité", j'aimerais aussi y placer les résultats de façon à avoir 2 "liens" dans cette rubrique, un lien "Actualités et un autre "Résultats".

En clair, lorsque je chargerais ma page, on tomberait sur la rubrique "Actualités" mais en cliquant sur le lien "Résultats", on accéderait à la rubrique "Résultats" sans que le reste de la page ne se recharge. Difficile à faire comprendre..

Voici un exemple sur le site de l'OM :

http://www.om.net

Ou encore :

http://tutorialblog.org/10-javascript-ajax-tabs/

Merci de votre aide,

Rapporter au modérateur  

Re:Changer contenu d'une page sans recharger la page en entier
« Répondre #1 sur: le 26-08-2011 a 11:53:38 »
Pad
Modérateur Global
*****

Hors-Ligne

Sexe: Male
Messages: 1391





Voir le Profil    WWW
Répondre avec citation

Ton deuxième exemple est justement ce qu'il faut que tu met en place pour avoir ce que tu souhaites... Aide toi de ce tutoriel : http://pckult.developpez.com/tutoriels/javascript/frameworks/jquery/boite-onglets-web2/

Rapporter au modérateur  

Webdéveloppeur / Webdesigner Indépendant
http://vincentdapp.fr/
SIRET 517 691 408 00028
Re:Changer contenu d'une page sans recharger la page en entier
« Répondre #2 sur: le 26-08-2011 a 16:53:08 »
charly22_85
Membre récent
*

Hors-Ligne

Messages: 19





Voir le Profil    E-Mail
Répondre avec citation

J'ai réussi à mettre ça en ligne :

www.usmeilleraiefoot.fr

Malheureusement, je n'arrive pas à modifier les onglets "Résultats" et "Pronostics" via Kompozer.

Comment faire ?

Rapporter au modérateur  
Re:Changer contenu d'une page sans recharger la page en entier
« Répondre #3 sur: le 26-08-2011 a 16:53:52 »
charly22_85
Membre récent
*

Hors-Ligne

Messages: 19





Voir le Profil    E-Mail
Répondre avec citation

www.usmeilleraiefoot.fr/index2.html

Pardon

Rapporter au modérateur  
Re:Changer contenu d'une page sans recharger la page en entier
« Répondre #4 sur: le 26-08-2011 a 18:31:48 »
Pad
Modérateur Global
*****

Hors-Ligne

Sexe: Male
Messages: 1391





Voir le Profil    WWW
Répondre avec citation

tu devrais avoir un bloc du genre pour ton 1er onglet :
Code:
<div id="content_1" class="content">       
    <ul>
          <li>...</li>
          <li>...</li>
          ....
    </ul>
</div>


et ben pour les deux autres c'est la même chose, enfin presque :
Code:
<div id="content_2" class="content">
    <ul>
          <li>...</li>
          <li>....</li>
          ....
    </ul>
</div>
<div id="content_3" class="content">
    <ul>
          <li>...</li>
          <li>...</li>
          ....
    </ul>
</div>

« Dernière Édition: le 26-08-2011 a 18:33:02 par Pad » Rapporter au modérateur  

Webdéveloppeur / Webdesigner Indépendant
http://vincentdapp.fr/
SIRET 517 691 408 00028
Re:Changer contenu d'une page sans recharger la page en entier
« Répondre #5 sur: le 12-09-2011 a 13:04:34 »
Tonyweb
Membre récent
*

Hors-Ligne

Messages: 21





Voir le Profil    WWW    E-Mail
Répondre avec citation

Je vais te faire une description générale étape par étape de ce que tu dois faire :

Deux parties, la partie php et la partie jquery (ajax) :

Première partie (php donc) :

Il faut que tu crée ta page index de manière a ce qu'elle fasse office de "carrefour" (lol) je m'explique :

La variable p est la page que tu souhaite affiché tu la passe par url vers ton fichiers index qui la récupère et qui va chercher le contenu lié a cette page dans un autre dossier :

www.tonsite.com?p=contact

Je récupère contact dans index.php via $_GET["p"] je vais chercher contact.php et je l'inclue dans dans l'espace destiné au contenu. Le header, menu et footer son en dur ou appelé via includes dans index.php il ne sont pas lié à la variable p (mais ils pourraient ! )

Si p est null alors je vais chercher index.php il faut découper tous tes contenus pour les mettre dans des fichiers stocké dans un dossier 'includes' par exemple ensuite tu les inclus par l'url :

www.tonsite.com?p=accueil
www.tonsite.com?p=contact
www.tonsite.com?p=faq
...

Une fois que cela marche c'est bien ! Prend un café, indente bien ton code, verifie que tu nous as pas créé une faille include toute belle ( utilise les expression régulière pour ca + la vérification de l'existence du fichier appelé dans le dossier include et cela avant tout inclusion dynamique ! )

Click sur ton menu réjoui toi de son fonctionnement et attaquons le jquery

Qui dis ajax dis jquery oublie les autres frameworks

- Télécharge jquery sur leur site
- Upload le et appel le sur ton index.php ( vu que index.php fait office de carrefour jquery sera appelé sur toute les pages car nous passons bien par index.php pour récupérer la page à charger via l'url puis pour l'inclure dans l'espace xhtml de ton contenu ! )

La tu va manger de la doc jquery :
Je t'explique théoriquement à toi de chercher :

- Lorsque l'on click sur accueil de ton menu tu attribut à ce bouton un href qui sera un lien comme ceux que je t'ai montré plus haut www.tonsite.php?p=contact pour cela utilise une fonction pour générer cette url qui prend comme argument la page.

Maintenant sur ce lien tu met un attribut id qui va comporter le nom de la page donc ici
: id="contact" en jquery maintenant :

- Lorsque un click est effectuer sur le bouton tu récupérer la valeur de l'id de celui ci dans le javascript via la fonction .attr()
- Tu va chercher cette page dans ton dossier include via la fonction $.get de jquery :

$.get("/includes/"+var_mapage, function(data) {

Ici je suis dans une fonction de callback, c'est une fonction appelé une fois son event parent éxécuter ici $.get() donc une fois que j'ai trouvé ma page je fais quelque chose ici oui mais quoi ?

Ici tu va remplacer le contenu afficher actuellement par le contenue de contact.php:

Pour cela tu utilise $(".class_de_ton_contenu").html(data);

Pour les effets c'est FadeIn, FadeOut mais sur ie c'est moche.

}


Donc je résume :


$(".tonmenu a").live("click",function(){        // Quand je click sur un a de ton menu je fais :

var ma_page = $(this).attr("id");      // je récupère la page du bouton sur lequel il y a eu le click $(this) se rapporte au a clicker

  $.get("/includes/"+ma_page, function(data) {
        $(".class_de_ton_contenu").html(data);
  });

return false;            // Force le navigateur a ne rien faire sur le click du bouton

});

Voila c'est tout con ! Ensuite tu peut ajouter supprimer des class via jquery pour mettre les boutons en hover ou pas, ALORS je voit déjà venir les pro du jquery oui c'est une façon très collégienne de faire ce qu'il souhaite faire mais sa marche et c'est la manière la plus simple je le laisserais rebondir sur cette technique de débutant par la suite.

Si tu as des questions je suis là !

Ah oui la tu te dis mais pourquoi il m'a embêter avec son php plus haut et sa variable par url alors pour différentes raisons :

- Déja car cela te permet d'avoir des liens dur dans tes hrefs qui fonctionne au cas ou le user n'a pas javascript ou si il est sur un mobile ou un tablette un peu vielle
- Ensuite car cela te permet d'utiliser jquery partout sur le site sans avoir à rappeler jquery
- Tu peut ainsi réécrire tes urls dire à htaccess de remplacer www.tonsite.com?p=contact.php par www.tonsite.com/contact/ dans la barre d'adresse de cette manière :

# On lance le module de ré-écriture d'url
RewriteEngine on

RewriteRule ^contact/$                                       /index.php?p=contact.php

- Donc ca fait plus pro !

VOILI VOILOU j'espère t'avoir aider comme je peut, un petit like sur mon projet perso : www.openworks.fr serait sympas

« Dernière Édition: le 13-09-2011 a 13:42:09 par Tonyweb » Rapporter au modérateur  

Créateur de www.devup.fr - Tutoriels, ressources et articles autour du web
Répondre    Aviser des réponses    Envoyer le sujet    Imprimer
Pages: [1] Monter
« Précédent Suivant »
Sauter à: 

Votre statut : Invité
Vous devez être membre pour participer.
 
 
Let’s Encrypt : le certificat SSL gratuit
Tester votre site internet sur différents navigateurs
[WordPress] Des problèmes avec l’administration ?
Rappel : Mettez à jour vos CMS et vos sites E-commerce
Le .fr fête ses 25 années d’existence !
Mesurer votre audience en temps réel avec BubbleStat
Porter réclamation contre Google Panda ?
Zlio n’est plus …
 
 
 
 
 

Copyright (c) Devclic 2002 - 2026 - Tous droits réservés

creation site internet strasbourg