Bonjour,
J'ai mis en place un système liste double en m'inpirant de ce site.
Mais je sollicite de l'aide car mon scripte ne fonctionne pas convenablement.
J'ai un formulaire comme ci dessous avec deux function javascript:
<HTML>
<HEAD>
<TITLE></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;
//document.formulaire.PROJET_ID+= l1.options[l1.options.selectedIndex].value+"," ;
}else{
alert("Aucune activite selectionnee");
}
}
</SCRIPT>
<SCRIPT LANGUAGE="JavaScript">
function posterListes()
{
// On compte le nombre d'item de la liste select
NbCol1 = document.forms['formulaire'].ListeDroite.length;
// On lance une boucle pour selectionner tous les items
for (a = 0; a < NbCol1; a++)
{
document.forms['formulaire'].ListeDroite.options[a].selected = true;
}
// On compte le nombre d'item de la liste select
NbCol2 = document.forms['formulaire'].ListeGauche.length;
// On modifie l'ID du champ select pour que PHP traite cette
// derni?re comme un array
//document.forms['formulaire'].ListeDroite.name = "ListeDroite[]";
}
</SCRIPT>
<BODY>
......
<td align="left" colspan="" rowspan ="2">
<select align="top" name="ListeGauche" multiple="multiple" size="6" style="width:200px">
<?php
foreach($tab1 as $cle => $valeur){
?>
<OPTION VALUE=<?=urlencode($cle)?>><?=$cle." - ".$valeur?></OPTION> <?php
}
?>
</select>
</td>
<TD align="center" colspan="" rowspan ="2">
<INPUT type="button" value="Ajouter >>>" onClick="Deplacer(this.form.ListeGauche,this.form.ListeDroite);posterListes()" >
<BR><BR>
<INPUT type="button" value="<<< Enlever" onClick="Deplacer(this.form.ListeDroite,this.form.ListeGauche);posterListes()" >
</TD>
<TD align="left" colspan="" rowspan ="2">
<select align="top" name="ListeDroite" multiple="multiple" size="6" style="width:200px">
<?php
foreach($tab2 as $key => $value){
?>
<OPTION VALUE=<?=urlencode($key)?>><?=$key." - ".$value?></OPTION> <?php
}
?>
</select>
</TD>
Mon objectif est que les deux listes soient remplis au chargement du formulaire graces aux resultats des requetes sql que j'ai mis dans les tableux($tab1 et $tab2 ) et qu'après j'ai la possibilité de modifier les élément de chaque liste par les bouton >><ajouter et <<<Enlever.
Mon problème est le suivant:
Je n'arrive pas avec ce code à afficher mes valeurs de la ListeDroite.
Parcontre si dans si dans la deuxieme select je mets name="ListeDroite[]" , l'affichage de la ListeDroite se fait au chargement du formulaire mais la fonction Deplacer() ne marche plus.
Si vous avez des idée pour m'aider à débloquer cette situation.
Merci d'avance.
Daris