Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 5 sur 5
  1. #1
    Invité de passage
    Inscrit en
    novembre 2011
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : novembre 2011
    Messages : 26
    Points : 1
    Points
    1

    Par défaut page adaptative selon le choix dans des listes déroulantes

    Bonjour,

    pour un projet de recherche je crée un micro-site web de trois pages :
    - connexion/identification
    - enquête (limesurvey)
    - cartographie

    Pour la page cartographie, je souhaite utilisé des listes déroulantes liées. Le choix dans la première liste déroulante modifient les possibilités d'une seconde liste. Même si j'ai trouvé une méthode pour réaliser ce lien, elle ne ne me convient pas car elle oblige à avoir la seconde liste de même longueur quelque soit le choix dans la première. Or, j'ai de grandes disparités de taille (3 à 17). J'ai donc pensé à utiliser les "include" en php. Mais cela ne fonctionne pas.

    Voici le code de ma div :
    Code html :
    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
    			<div id="legend_3">
    				<div id="legend_3_titre">
    					BÂTI
    				</div>
    					<div id="legend_3_choix">
    						<select name="choix_n3" id="choix_n3" onChange='select_n3(this.form)'>
    							<option value="choix1" selected="Selected">Sans bâtiment</option>
    							<option value="choix2">Mon appartement / ma maison</option>
    							<option value="choix3">Tous les immeubles</option>
    						</select>
    						<script type="text/javascript">
    							function Choix(form) { 
    								i = form.choix_n3.selectedIndex; 
    								if (i == 0) { 
    									return; 
    								} 
    								switch (i) {
    									case 1 : '<?php include("choix/choix_n3_2.php"); ?>';
    									break ;
    									case 2 : '<?php include("choix/choix_n3_3.php"); ?>';
    									break ;	
    								}
    						</script>		
    					</div>
    				</div>

    Je débute en programmation web et je me forme au fur et à mesure de mes avancées et après deux jours de recherche et plusieurs tentatives je ne trouve pas de solution.

    Merci d'avance.

  2. #2
    Modérateur
    Avatar de XxArchangexX
    Homme Profil pro Fabien
    Conseil - Consultant en systèmes d'information
    Inscrit en
    mars 2012
    Messages
    1 127
    Détails du profil
    Informations personnelles :
    Nom : Homme Fabien
    Âge : 27
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Communication - Médias

    Informations forums :
    Inscription : mars 2012
    Messages : 1 127
    Points : 2 238
    Points
    2 238

    Par défaut

    Bonjour,

    Il y a peut être un autre moyen mais pour ce genre de problème regarde du côté d'AJAX.

    Le principe, dans une page tu mets en place ta combobox en fonction d'un paramètre, au clique dans la première combobox tu insères dans une div en dessous la page qui contient cette deuxième combo remplie avec le paramètre de la première, grâce à AJAX. Deplus, pour ma part, j'utilise le framework prototype.

    http://dcabasson.developpez.com/arti...ototype-1.4.0/

    En esperant avoir pu t'aider.
    L'Etat est bien administré quand l'escalier de l'école est usé et que l'herbe croît sur celui du tribunal.

    Modérateur BI

  3. #3
    Invité de passage
    Inscrit en
    novembre 2011
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : novembre 2011
    Messages : 26
    Points : 1
    Points
    1

    Par défaut

    Bonjour,

    merci de la réponse je vais mettre cela sur la pile des tutoriels/guides/livres à lire. Mais entre php, js, html, xml, css, mapserver, openlayers, mapscript, postgreSQL/postgis, python et autres j'ai encore près de 6000 pages à lire.

    S'il existe une autre solution qui ne nécessite pas d'apprendre les particularités d'autres langages/sous-langages, je suis preneur.

    Ma recherche n'est en rien informatique mais je passe plus de temps sur la programmation que sur l'objet de ma recherche elle-même.

    Merci encore.

  4. #4
    Modérateur
    Avatar de XxArchangexX
    Homme Profil pro Fabien
    Conseil - Consultant en systèmes d'information
    Inscrit en
    mars 2012
    Messages
    1 127
    Détails du profil
    Informations personnelles :
    Nom : Homme Fabien
    Âge : 27
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Communication - Médias

    Informations forums :
    Inscription : mars 2012
    Messages : 1 127
    Points : 2 238
    Points
    2 238

    Par défaut

    Je comprend bien que tu es débutant mais d'un autre côté, quand tu veux faire un site dynamique, il faut apprendre des langages plus complexe que la base.

    Si tu commences à savoir utiliser HTML, CSS, PHP pour faire du dynamique il faut passer au javascript ou ajax.
    Ton souci est possible en php, tu choisis le champ dans la première combobox et tu reviens dans la même page avec en paramètre deux champs, un truc du genre 'etape2' et la valeur choisie de la première comboBox, dans le code un 'if le champ de la combo existe et champ = etape2' tu affiches le deuxieme <select> avec les infos correspondantes au champ choisi dans la comboBox1 mais ça va raffraichir toute la page à chaque changement dans la comboBox et pas faire très 'user friendly'.
    L'Etat est bien administré quand l'escalier de l'école est usé et que l'herbe croît sur celui du tribunal.

    Modérateur BI

  5. #5
    Invité de passage
    Inscrit en
    novembre 2011
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : novembre 2011
    Messages : 26
    Points : 1
    Points
    1

    Par défaut

    Je vais regardé du côté d'AJAX car c'est apparemment la seule solution pertinente. De plus on me demande de modifier ma page pour quelle ait le comportement suivant :
    • pour chaque donnée :

    • choisir oui/non (boutons radio me semble bien même si un bouton switch type iOS/android aurait été sympa mais je ne sais pas faire)
    • si oui, activer un bouton "modifier"
    • lors d'un clic sur le bouton, afficher une feuille de choix dans le style de alert() en javascript

    Donc arrêt du codage pour le moment et ... lecture + tests

    Merci !

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •