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

HTML Discussion :

Page dynamique - HTML et DHTML


Sujet :

HTML

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 107
    Par défaut Page dynamique - HTML et DHTML
    Bonjour,

    Je développe en PHP (non, je ne me suis pas trompé de forum) une application simple pour gérer les DVD, DivX, VHS et Livres.

    J'avais l'idée de faire un formulaire/page d'ajout de média par type de média (un formulaire pour les livres, un second pour les DVD, etc) mais je trouve que c'est un peu lourd: il me faudra 4 formulaires. Or avec un seul on pourrai faire aussi bien et plus rapidement. J'explique.

    J'ai vu un certain nombre de site web dynamique une fonctionnalité qui m'intéresse mais je ne sait pas comment faire: l'aspect dynamique vient du fait que sur une zone de liste déroulante (appelée combo box en Visual Basic et 'select' en HTML) on pouvait, selon le choix de cette liste déroulante, faire évoluer la page web dynamiquement. Par exemple, si on a un 'select' composé de 4 choix (DVD, DivX, VHS et Livre) faire évoluer la page dynamiquement selon le choix de l'utilisateur. Par exemple, si l'utilisateur sélectionne 'Livres' alors une zone de texte 'ISBN' apparait. Comment faire ?

    Il est possible que cette fonctionnalité que j'ai vu plusieurs fois sur plusieurs site web, n'est peut-être pas du HTML ni même du DHTML. Peut-être du Java/J2EE. Ou PHP. Je ne sais pas bien.

    Merci de toute aide.

    J.

  2. #2
    Membre Expert Avatar de HiRoN
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2007
    Messages
    2 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2007
    Messages : 2 035
    Par défaut
    Bonjour,

    Par exemple déclencher le submit sur le "onchange" du select (voir mettre bouton), après plusieurs possibilités :

    - Reconstruire la page via php pour afficher ou non les champs voulus
    - Possible aussi en Javascript (jouer sur des display:block ou none) et évitera actualisation page
    - Mixer les deux (pour du javascript non intrusif > Pas de bugs si désactivé > Php prend le relais)...
    Pensez à utiliser les ressources disponibles en Dev. Web :
    (x)HTML : Cours (X)HTML / FAQ (X)HTML
    CSS : Cours CSS / FAQ CSS / Galerie CSS
    Javascript : Cours / FAQ / Sources
    Mon site : Développeur Web Freelance

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 107
    Par défaut
    Merci Mathieu.

    La première solution, en PHP, pour reconstruire la page me séduit le plus.

    Est-ce que tu peux parler davantage du 'submit' ? Et du "onchange" du select, svp ?

    Un exemple ?

    Merci.

    J.

  4. #4
    Membre Expert Avatar de HiRoN
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2007
    Messages
    2 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2007
    Messages : 2 035
    Par défaut
    Citation Envoyé par Jinx_ Voir le message
    Merci Mathieu.
    La première solution, en PHP, pour reconstruire la page me séduit le plus.
    Est-ce que tu peux parler davantage du 'submit' ? Et du "onchange" du select, svp ?
    Un exemple ?
    Exemple rapide (l'ensemble est à approfondir) :

    Si 100% php, il te faudra un bouton de type "submit"...

    En gros, l'utilisateur choisit dans la liste ce qu'il veut et clique sur le bouton.
    Le submit se déclenche, la page se recharge, $_POST contient la valeur du choix de l'utilisateur et au niveau affichage, c'est du genre :
    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if($_POST['monchamp'] == 'maVal') {
     // J'affiche le champs
    }
    Ce qui permet donc de mettre des champs personnalisés en fonction des choix.
    Pour le onchange > évenement déclenché au changement sur la liste déroulante. Il te suffit de créer une fonction :
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    <select ... onchange="monTest();">

    Et côté Javascript :
    Code Javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    function monTest() {
     document.submit(); // En fonction de ce que tu veux faire exactement
    };

    En gros, si JS désactivé, tu affiches le bouton "submit" (car si pas de JS > Pas de onchange donc faut bien cliquer quelque part)
    Si JS activé, tu caches le bouton au "onload" (avec un display:none; part ex) et au changement sur la liste déroulante le clic sur le submit sera remplacé par l'action sur le onchange (action lui disant de submit)...

    Mais avec cette technique, il y aura dans tous les cas un rechargement de la page... (car avec ou sans JS, c'est le php qui construit la page)

    En espérant avoir été clair...
    Pensez à utiliser les ressources disponibles en Dev. Web :
    (x)HTML : Cours (X)HTML / FAQ (X)HTML
    CSS : Cours CSS / FAQ CSS / Galerie CSS
    Javascript : Cours / FAQ / Sources
    Mon site : Développeur Web Freelance

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 107
    Par défaut
    Merci beaucoup Mathieu.

    Pour la soluce 100% PHP, c'est bon. J'ai capté.

    En revanche pour la soluce Java Script, c'est un peu plus confus. Si j'ai bien compris dans la fonction function monTest()

    function monTest() {
    document.submit(); // En fonction de ce que tu veux faire exactement
    };

    il faudrait que je mette du code pour afficher des champs (fonction du choix de l'utilisateur dans la liste déroulante). Comment faire ?

    J.

  6. #6
    Membre éclairé Avatar de tibotibo69
    Profil pro
    Développeur Web
    Inscrit en
    Février 2008
    Messages
    268
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Février 2008
    Messages : 268
    Par défaut
    Salut,

    Tu peux faire comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    function monTest() {
    document.getElementById('nom_de_ton_element').style.display = "block";
    };
    ce qui affichera les éléments voulu au moment du onchange.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. pages dynamique en HTML !
    Par jamdinhe dans le forum Général Conception Web
    Réponses: 3
    Dernier message: 14/08/2012, 13h02
  2. [MySQL] inclure tout le code html à mes pages dynamiques
    Par SonnyFab dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 06/12/2010, 10h11
  3. Réponses: 1
    Dernier message: 03/02/2009, 17h21
  4. Rendu Html et mise en page dynamique dans flash
    Par grav dans le forum ActionScript 3
    Réponses: 0
    Dernier message: 21/12/2008, 12h27
  5. Page dynamique html?!
    Par n4rk0o dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 19/03/2007, 17h16

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