Passer une valeur choisi d'une liste déroulante vers une aut
Posté : 04 avr. 2008, 11:08
Bonjour
Ce que je voudrai faira c'est de pouvoir passer une valeur choisi d'une liste déroulante vers une autre
Jai deux listes deroulantes avec une bouton
Un grand Merci pour votre aide
Ce que je voudrai faira c'est de pouvoir passer une valeur choisi d'une liste déroulante vers une autre
Jai deux listes deroulantes avec une bouton
<select name="items_gauche" STYLE="width: 230px" multiple size=15>
et <select name="items_droite" STYLE="width: 230px" multiple size=15>
Un bouton se trouve entre ces deux liste <input type="button" value=">>" onclick="return traiter_g_vers_d('gauche', 'droite');">
ma fonction javascript est le suivant <script language='javascript'>
function verifier_elements(de, vers)
{
var F = document.Formulaire;
var elements1 = "items_" + de + "[]";
var elements2 = "items_" + vers + "[]";
operation_ok = true;
for (i=0 ; i<F.elements[elements1].length ; i++)
{
if (F.elements[elements1].options[i].selected)
{
$candidat_gauche = F.elements[elements1].options[i].value.split("!")[3];
$candidat_gauche += F.elements[elements1].options[i].value.split("!")[4];
for (j=0 ; j<F.elements[elements2].length ; j++)
{
$candidat_droite = F.elements[elements2].options[j].value.split("!")[3];
$candidat_droite += F.elements[elements2].options[j].value.split("!")[4];
if ($candidat_gauche == $candidat_droite)
{
operation_ok = false;
break;
}
}
}
}
return operation_ok;
}
function deplacer_elements(de, vers)
{
var F = document.Formulaire;
var elements1 = "items_" + de + "[]";
var elements2 = "items_" + vers + "[]";
if (F.elements[elements1].options.selectedIndex >= 0)
{
/* boucle tant qu'il reste des éléments sélectionnés */
while (F.elements[elements1].options.selectedIndex >= 0)
{
/* index de l'élément sélectionné */
index = F.elements[elements1].options.selectedIndex;
/* /texte de l'élément sélectionné */
texte = F.elements[elements1].options[index].text;
/* valeur de l'élément sélectionné */
valeur = F.elements[elements1].options[index].value;
/* suppression de l'élément sélectionné dans la liste d'origine */
F.elements[elements1].options[index] = null;
/* création de l'élément dans la liste accueillante */
var user = new Option(texte, valeur);
nb_elements = F.elements[elements2].options.length; // nbre d'éléments dans la liste accueillante
F.elements[elements2].options[nb_elements] = user;
}
return true;
}
else
{
return false;
}
}
function traiter_elements(vers)
{
var F = document.Formulaire;
var elements2 = "items_" + vers + "[]";
for (i=0 ; i<F.elements[elements2].length ; i++)
{
val_texte = F.elements[elements2].options[i].value.split("!")[3];
val_texte = val_texte + " " + F.elements[elements2].options[i].value.split("!")[4];
val_texte = val_texte + " (" + F.elements[elements2].options[i].value.split("!")[1] + ")";
if(F.elements[elements2].options[i].value != -1)
{
F.elements[elements2].options[i].text = val_texte;
}
}
}
function traiter_g_vers_d(de, vers)
{
if (verifier_elements(de, vers))
if (deplacer_elements(de, vers))
traiter_elements(vers);
}
</script>
Ceux qui me bloque c'est que quand je selectionne une valeur dans la premiere liste et que je clique sur le bouton c'est marqué undefined undefined (undefined) dans la liste deroulante droite Un grand Merci pour votre aide