Forum général.général Formulaire, deux champs en une liste

Posté par  (site web personnel) .
Étiquettes : aucune
0
19
mai
2006
Bonjour,

je coince sur qqch qui me semble tout bête...
j'ai un formulaire, avec un jolie liste défilante, du genre:

[select name="tata"]
[option value="xxx"]A[/option]
[option value="yyy"]B[/option]
[option value="zzz"]C[/option]
[/select]

Jusqu'ici ok, si je choisit A je renvoi tata=xxx; si je prend B je renvoi tata=yyy etc...

Mon soucis est que j'ai aussi une liste

[select name="toto"]
[option value="xxx"]A[/option]
[option value="yyy"]B[/option]
[option value="zzz"]C[/option]
[/select]


et je trouve dommage de faire piocher le visiteur dans les deux liste pour renvoyer mes deux critères.

Est il possible en une seule liste défilante, de revoyer toto=www ET tata=xxx si l'utilisateur choisit l'option A??
  • # Un select multiple ?

    Posté par  (site web personnel) . Évalué à -3.

    Tu peux faire quelque chose comme ça:
    <select name="choix[]" multiple>
    <optgroup label="liste1">
    <option value="o1">Option 1</option>
    <option value="o2">Option 2</option>
    <option value="o3">Option 3</option>
    </optgroup>
    <optgroup label="liste2">
    <option value="o4">Option 4</option>
    <option value="o5">Option 5</option>
    <option value="o6">Option 6</option>
    </optgroup>
    </select>
  • # On a droit au javascript?

    Posté par  . Évalué à 1.

    ce que tu veux faire, c'est préselectionner dans toto la valeur choisie dans tata? dans ce cas, ceci devrait faire l'affaire :


    [script]
    function preselect() {
    document.getElementById('toto').value = document.getElementById('tata').value
    }
    [/script]


    et plus loin


    [select id='tata' name='tata' onchange='preselect();']
    [option value="xxx"]A[/option]
    [option value="yyy"]B[/option]
    [option value="zzz"]C[/option]
    [/select]

    [select id='tata' name='tata']
    [option value="xxx"]A[/option]
    [option value="yyy"]B[/option]
    [option value="zzz"]C[/option]
    [/select]

    "Il faut" (Ezekiel 18:4) "forniquer" (Corinthiens 6:9, 10) "avec des chiens" (Thessaloniciens 1:6-9) "morts" (Timothée 3:1-10).

  • # composition de valeurs

    Posté par  . Évalué à 2.


    A
    B
    C



    ensuite dans ton traitement tu fais un split de la valeur sur '|' pour assigner tes deux variables ...


    Dam
    • [^] # Re: composition de valeurs

      Posté par  . Évalué à 2.

      arf le boulet j'ai cliqué trop vite /o\

      donc je reprend :

      <select name="toto_tata">
      <option value="www|xxx">A</option>
      <option value="vvv|yyy">B</option>
      <option value="uuu|zzz">C</option>
      </select>

      voila :)

      Dam
      • [^] # Re: composition de valeurs

        Posté par  (site web personnel) . Évalué à 2.

        Je ne peux pas, je ne suis pas maitre du script qui traite le formulaire.

        Et la solution javascript du dessus ne me va pas non plus, j'aimerai n'avoir qu'une liste défilante...
        • [^] # Re: composition de valeurs

          Posté par  (site web personnel) . Évalué à 2.

          Si tu n'as pas accès au code qui traite le formulaire et que tu ne veux pas de javascript alors sache qu'il n'y a pas de solutions pour toi à part faire 2 listes déroulantes.

          L'association LinuxFr ne saurait être tenue responsable des propos légalement repréhensibles ou faisant allusion à l'évêque de Rome, au chef de l'Église catholique romaine ou au chef temporel de l'État du Vatican et se trouvant dans ce commentaire

        • [^] # Re: composition de valeurs

          Posté par  . Évalué à 1.

          et pourquoi pas une variable cachée à la place du 2ème select?

          [input type='hidden' name='toto' id='toto'/]

          et ca marche nickel avec le script que je t'ai mis au-dessus...

          "Il faut" (Ezekiel 18:4) "forniquer" (Corinthiens 6:9, 10) "avec des chiens" (Thessaloniciens 1:6-9) "morts" (Timothée 3:1-10).

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.