Problème tableau à bascule : comment recuprer les infos [Résolu]

Signaler
Messages postés
35
Date d'inscription
lundi 13 février 2006
Statut
Membre
Dernière intervention
15 avril 2014
-
Messages postés
35
Date d'inscription
lundi 13 février 2006
Statut
Membre
Dernière intervention
15 avril 2014
-
Bonjour, j'ai un tableau à bascule et j'aimerai y récuperer les infos sélectionnée, mais je n'y arrive pas.
En effet lors de la soumission du formulaire, je n'arrive pas à récuperer les données via la methode POST.
Pourriez vous m'éclairer ?

Merci beaucoup, voici le code

<?
echo $_POST['liste1']."
";
echo $_POST['liste2']."
";
?>
<HTML>
<HEAD>
<TITLE>Tout JavaScript.com - Info Bulle DHTML</TITLE>
<SCRIPT LANGUAGE="JavaScript">
    function Deplacer(l1,l2) {
        if (l1.options.selectedIndex>=0) {
            o=new Option(l1.options[l1.options.selectedIndex].text,l1.options[l1.options.selectedIndex].value);
            l2.options[l2.options.length]=o;
            l1.options[l1.options.selectedIndex]=null;
        }else{
            alert("Aucune activité sélectionnée");
        }
    }
</SCRIPT>
</HEAD>

<FORM name="formulaire" action="bascule.php" method="post">

        Activités proposées

    <SELECT align=top name="liste1" size=6  style="width:120px">
        <OPTION value="Planche">Planche à voile</OPTION>
        <OPTION value="Plongée">Plongée</OPTION>
        <OPTION value="Jet-Ski">Jet-Ski</OPTION>
        <OPTION value="Tir à l'arc">Tir à l'arc</OPTION>
        <OPTION value="Pétanque">Pétanque</OPTION>
        <OPTION value="Bronzette">Bronzette</OPTION>
    </SELECT>
   ,
        >>" onClick="Deplacer(this.form.liste1,this.form.liste2)">
   

   
   ,
    Activités retenues

    <SELECT align=top name="liste2" size=6 style="width:120px">
        <OPTION value="10">----------------------</OPTION>
    </SELECT>
   ,
   

    <SCRIPT language="javascript">
        // Astuce pour Netscape qui ne supporte pas style="width:100"
        // Donc : création d'une ligne pour initialiser la largeur puis suppression par ce javascript
        document.formulaire.liste2.options.length=0;
    </SCRIPT>
   
</FORM>

</HTML>

3 réponses

Messages postés
13619
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
32
ch'tit exemple à adapter à tes besoins :

<?php
    if (isset($_POST["sel"])) print_r ($_POST["sel"]);
?>
<script    type="text/javascript">
    function tout()
    {    for ( var n=0;n<document.frm["sel[]"].length;n++ )
        {    document.frm["sel[]"].options[n].selected="selected";    }
    }
</script>
<form name="frm"
        onsubmit="tout();"
        method="post">
<select    name="sel[]"
            multiple>
    <option value="hein">1
    <option value="deux">22
    <option value="trois">333
</select>

</form>

<hr />


Cordialement                Bul     [mon Site]     [M'écrire]



<hr />
Messages postés
13619
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
32
Bonjour,

1° le select doit être multiple <select name... multiple... >
2° les options doivent être sélectionnées     select.options[n].selected=true
3° c'est bien les value qui sont envoyés, pas le texte.
4° comme ce doit être un array, mettre name="liste2[]"
     le php pourra faire print_r ($_POST['liste2']); par exemple
     javascript doit par contre utiliser document.formulaire["liste2[]"]...
          attention à la syntaxe. pas de . derrière formulaire.

<hr />


Cordialement                Bul     [mon Site]     [M'écrire]



<hr />
Messages postés
35
Date d'inscription
lundi 13 février 2006
Statut
Membre
Dernière intervention
15 avril 2014

Merci beaucoup, en particulier pour l'exemple.
C'est très gentil de ta part d'avoir répondu si rapidement.