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

Messages postés
35
Date d'inscription
lundi 13 février 2006
Statut
Membre
Dernière intervention
15 avril 2014
- - Dernière réponse : evenkil
Messages postés
35
Date d'inscription
lundi 13 février 2006
Statut
Membre
Dernière intervention
15 avril 2014
- 17 juil. 2007 à 22:19
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>
Afficher la suite 

3 réponses

Meilleure réponse
Messages postés
13619
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
26
3
Merci
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 />

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 218 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_bultez
Messages postés
13619
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
26
0
Merci
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 />
Commenter la réponse de cs_bultez
Messages postés
35
Date d'inscription
lundi 13 février 2006
Statut
Membre
Dernière intervention
15 avril 2014
0
Merci
Merci beaucoup, en particulier pour l'exemple.
C'est très gentil de ta part d'avoir répondu si rapidement.
Commenter la réponse de evenkil