[web] liste de choix qui charge une liste

gahel4 Messages postés 140 Statut Membre -  
crabs Messages postés 909 Statut Membre -
Bonjour,

Je voudrais faire une page web contenant 2 listes de choix et qu'en fonction du choix fait dans la première liste ça charge la deuxième liste.

Javascript, php je n'ai pas de préférence...

Merci.

Gaël

3 réponses

  1. crabs Messages postés 909 Statut Membre 507
     
    salut,

    Ca tombe bien que tu proposes PHP et JS, tu peux utiliser les deux via le
    XMLHttpRequest.
    Exemple : http://www.crabs-world.com/httprequest/index.xml
    Regardes la feuille XSL elle contient les éléments HTML. Sinon la feuille XML permet
    juste d'initialiser les 2 listes.

    Sinon fait un enregister sous avec ton navigateur en précisant que tu veux du
    HTML (ça fonctionne avec Mozilla).
    A+, crabs
    0
  2. gahel4 Messages postés 140 Statut Membre 4
     
    Merci Crabs,

    C'est tout à fait ce que je veux par contre je n'arrive pas à le mettre en oeuvre. Je ne vois pas où tu défini le nom des pères ni celui des enfants...

    A+
    0
  3. crabs Messages postés 909 Statut Membre 507
     
    Salut,

    Dans la feuille xsl, tu trouves :
    <select id="l1" size="10" style="width:200px;" onchange="l1_change()">
      <xsl:apply-templates select="/donnees/les_peres"/>
    </select>
    

    (et peu près la même avec l2, donnees/les_fils et l2_change() pour la liste des fils)
    Le xsl:apply-templates permet d'extraire le noeud les_peres contenu dans la page
    xml.
    Plus haut dans la feuille xsl tu rencontres :
    <xsl:template match="fils|pere">
      <xsl:element name="option">
        <xsl:attribute name="value">
          <xsl:value-of select="@valeur"/>
        </xsl:attribute>
        <xsl:value-of select="@nom"/>
      </xsl:element>
    </xsl:template>
    

    Un noeud 'pere' (cf le XML) s'écrit :
    <pere nom="pere0" valeur="0" />

    La feuille XSL va transformer cela en :
    <option value="0">pere0</option>

    (même chose pour un fils)
    Ainsi tes deux listes sont initialisées car ces lignes "option" apparaissent dans
    le bon select.

    A+, Crabs
    0