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 :

Ancre et variable


Sujet :

jQuery

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    295
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 295
    Par défaut Ancre et variable
    Bonjour/ bonsoir,

    J'ai une navigation par onglet. Celle-ci est développée en CSS et Jquery et repose sur des ancres :
    Au niveau des onglets :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <ul class="tabs">
    <li><a href="#labo">Patisserie</a></li>
    <li><a href="application.php?production=charcuterie">Charcuterie</a></li>
    </ul>
    <ul class="lastTabs">
    <li><a href="#panier">Mon panier</a></li>
    …
    Au niveau du contenu
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <div class="tab_container">
    <div id="labo" class="page">
    <?php include ‘fichier.php'; ?>
    </div>
    <div id="panier" class="page">
    <?php include 'fichier.php'; ?>
    </div>
    Le java script établi ce lien d’ancre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $('ul.tabs li').click(function(){
    $('ul.tabs li').removeClass('active');
    $(this).addClass('active');
    $('.page').hide();
    var active_tab = $(this).find('a').attr('href');
    $(active_tab).fadeIn();
    return false;
    Les soucis arrivent avec l’intégration de script PHP et démontre une certaine ‘incompatibilité’ de fonctionnement. Pour être plus précis, l’utilisateur clique sur l’onglet ‘Patisserie’ et doit voir apparaître tous les produits y attenant. Je dois donc transmettre une information à ‘fichier.php’ pour dire de quelle production il s’agit, comme par exemple pour l’onglet ‘charcuterie’.
    De ce fait, je n’arrive pas à concilier l’ancre et l’envoi de cette variable… Et je sèche complètement…
    Merci,

  2. #2
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Billets dans le blog
    125
    Par défaut
    Bonjour

    Je suis absolument certain de ne pas avoir tout compris de votre problème, mais je me permets de vous suggérer une saine lecture, la FAQ jQuery.

    Et pour les échanges entre le JavaScript et le PHP : Comment dois-je formuler une requête AJAX ?.

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

  3. #3
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2011
    Messages
    89
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Philippines

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2011
    Messages : 89
    Par défaut
    Une solution simple et sans ajax qui est meilleure pour le SEO :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <div class="tab_container">
    <div id="labo" class="page">
    <?php
    $id = 'labo';
    include ‘fichier.php';
    ?>
    </div>
    <div id="panier" class="page">
    <?php
    $id = 'panier';
    include ‘fichier.php';
    ?>
    </div>
    Dans fichier.php, on peut utiliser la variable $id.


    Pour ça par contre, je serait tenté de dire qu'il est aussi simple de copier directement le code correspondant dans les onglets... Ou encore mieux de faire une fonction qui affiche les résultats selon un paramètre et le résultat donnerait ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <div class="tab_container">
    <div id="labo" class="page">
    <?php ma_fonction('labo'); ?>
    </div>
    <div id="panier" class="page">
    <?php ma_fonction('panier'); ?>
    </div>

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    295
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 295
    Par défaut
    Merci,
    Mais j'ai fini par trouver une solution, en remettant à plat le principe.
    L'application ne fonctionnait pas sans java-script, chose que je veux éviter.

Discussions similaires

  1. Ancres et variable get
    Par dario1981 dans le forum Développement Web en Java
    Réponses: 0
    Dernier message: 20/12/2012, 23h25
  2. ancre avec variable php
    Par kaking dans le forum Langage
    Réponses: 7
    Dernier message: 09/07/2009, 09h49
  3. Procédure avec un nombre variable d'arguments
    Par charly dans le forum Langage
    Réponses: 15
    Dernier message: 21/06/2002, 11h08
  4. Réponses: 4
    Dernier message: 05/06/2002, 14h35
  5. les variables globales static
    Par gRRosminet dans le forum C
    Réponses: 8
    Dernier message: 27/04/2002, 08h34

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