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

Langage PHP Discussion :

affichage conditionnel liste deroulante [PHP 5.0]


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite Avatar de issoram
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2009
    Messages
    665
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2009
    Messages : 665
    Par défaut affichage conditionnel liste deroulante
    Grand débutant en php et html, j'essaie d'afficher (ou rendre inactive) une liste déroulante suivant les valeurs d'une autre liste deroulante. J'ai essayé le code suivant mais sans succès. Je n'ai pas trop d'autres idées.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    <html>
     
    	<head>
    		<title>TP4</title>
    	<head/>
     
    	<body>
     
    		<form name="formulaire1" method="post" action="page1.php">
    			<table>
    				<tr>
    					<td>Système:</td>
    					<td>
    					<SELECT name="Système">
    						<OPTION VALUE="RGF93">RGF93</OPTION>
    						<OPTION VALUE="ETRS89">ETRS89</OPTION>
    						<OPTION VALUE="ITRF05">ITRF05</OPTION>
    					</SELECT>
    					</td>
    					<td>Type:</td>
    					<td>
    					<SELECT name="Type">
    						<OPTION VALUE="cartesiennes">Cartesiennes</OPTION>
    						<OPTION VALUE="geographiques">Geographiques</OPTION>
    					</SELECT>
    					</td>
    					<td>Unité:</td>
    					<td>
    					<?php
    					if ($_POST[Type]=='geographiques'){
    						<SELECT name="Unité">
    							<OPTION VALUE="degrés">degrés</OPTION>
    							<OPTION VALUE="degmin">degrés minutes</OPTION>
    							<OPTION VALUE="degminsec">degrés minutes secondes</OPTION>
    						</SELECT>
    					}
    					?>
    					</td>
    				</tr>
    			</table>
    		</form>
     
     
    	<body/>
     
    </html>
    Merci d'avance

  2. #2
    Membre chevronné Avatar de FredPsy
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Décembre 2006
    Messages
    285
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2006
    Messages : 285
    Par défaut
    Bonsoir.

    Premier point :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    /** On écrit */
    $_POST['Type'] /* et non $_POST[Type]*/
    Second point, une variable $_POST[] est envoyée depuis la validation d'un formulaire. Hors avec ce code, le formulaire n'est pas envoyé que tu veux déjà utiliser la variable $_POST[].

    C'est pas comme ça que ça marche. Je te renvoi dans un premier temps à ceci : Les Formulaires.

    Dans un second temps, ce que tu veux faire peut être fait via Javascript avec l'événement onchange

  3. #3
    Membre émérite Avatar de issoram
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2009
    Messages
    665
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2009
    Messages : 665
    Par défaut Envoyer un formulaire
    Je ne comprends pas comment envoyer le formulaire, je suis pourtant bien allé sur le lien mais je ne vois pas comment faire. N'y Désolé de faire le boulet mais un peu d'aide me serait bien utile.

  4. #4
    Membre chevronné Avatar de FredPsy
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Décembre 2006
    Messages
    285
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2006
    Messages : 285
    Par défaut
    Tiens essayes ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Untitled Document</title>
    <script type="text/javascript">
    function Affiche()
        {
            var selection = document.getElementById('Type').value;
            var afficher = document.getElementById('voir');
            if(selection == "geographiques")
                {
                    afficher.style.display = "block";
                    }
            else
                {
                    afficher.style.display = "none";
                    }
            }
    </script>
    </head>
     
    <body>
     
            <form name="formulaire1" method="post" action="page1.php">
                <table>
                    <tr>
                        <td>Système:</td>
                        <td>
                        <SELECT name="Système">
                            <OPTION VALUE="RGF93">RGF93</OPTION>
                            <OPTION VALUE="ETRS89">ETRS89</OPTION>
                            <OPTION VALUE="ITRF05">ITRF05</OPTION>
                        </SELECT>
                        </td>
                        <td>Type:</td>
                        <td>
                        <SELECT name="Type" id="Type" onchange="javascript:Affiche();">
                            <OPTION VALUE="cartesiennes">Cartesiennes</OPTION>
                            <OPTION VALUE="geographiques">Geographiques</OPTION>
                        </SELECT>
                        </td>
                        <td>&nbsp;</td>
                        <td>
                        <div id="voir" style="display:none;">
                            Unité : <SELECT name="Unité">
                                <OPTION VALUE="degrés">degrés</OPTION>
                                <OPTION VALUE="degmin">degrés minutes</OPTION>
                                <OPTION VALUE="degminsec">degrés minutes secondes</OPTION>
                            </SELECT>
                        </div>
                        </td>
                    </tr>
                </table>
            </form>
     
     
        <body/>
     
    </html>

  5. #5
    Membre émérite Avatar de issoram
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2009
    Messages
    665
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2009
    Messages : 665
    Par défaut Merci pour la réponse mais...
    Je te remercie pour cette réponse mais je ne connais rien à javascript et j'aurais aimé le faire simplement en html + php.
    D'autre part comment récupérer les valeurs d'une balise SELECT? Je ne comprends pas bien le mechanisme d'envoi de formulaire. Quelques precisions me seraient bien utiles.

    Merci encore pour ta solution.

  6. #6
    Membre chevronné Avatar de FredPsy
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Décembre 2006
    Messages
    285
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2006
    Messages : 285
    Par défaut
    La problématique de ton formulaire et que lorsqu'un utilisateur sélectionne un type, notamment le type "geographiques", les unités doivent apparaître.

    Hors, si tu le fait uniquement en HTML et en PHP, l'utilisateur ne verra les unités qu'après validation du formulaire et non lorsqu'il en aura besoin.

    Par définition le HTML est figé. Tu ne peux pas le faire évoluer selon les actions utilisateurs sans scripts tiers. D'où le Javascript, qui lui modifie dynamiquement le HTML.

    Concernant la récupération des valeurs d'un select :
    dans une page (extension HTM ou HTML)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <form action="une_page.php" method="post">
    <select name="selection">
      <option value="oui">Oui</option>
      <option value="non">Non</option>
    </select>
    </form>
    Dans une autre page (extension PHP)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $choix_dans_la_liste = $_POST['selection'];
    echo $choix_dans_la_liste;
    /** Tu auras donc Oui ou Non selon le choix effectué. */

  7. #7
    Membre émérite Avatar de issoram
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2009
    Messages
    665
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2009
    Messages : 665
    Par défaut resolu
    Merci à pour toutes ces explications. Je me mets au javascript....

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

Discussions similaires

  1. affichage contenu liste deroulante
    Par moicats dans le forum IHM
    Réponses: 6
    Dernier message: 15/03/2010, 09h15
  2. Affichage selon liste deroulante
    Par piero53 dans le forum Langage
    Réponses: 34
    Dernier message: 26/01/2010, 11h42
  3. Affichage de liste déroulante
    Par VincentKok dans le forum IHM
    Réponses: 20
    Dernier message: 20/08/2007, 15h20
  4. [JSP] Affichage selon liste deroulante
    Par cnguyen dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 10/06/2006, 19h21
  5. Réponses: 5
    Dernier message: 25/10/2005, 20h51

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