Ok, je suis remplissage mon multiple boîte de sélection avec des options d'une autre boîte de sélection via javascript comme ceci:
function addAction()
{
var actions = document.getElementById("actions");
var action_list = document.getElementById("actions_list");
var opt = document.createElement("option");
for (var i=0; i<action_list.options.length; i++)
{
if (action_list.options[i].text == actions.options[actions.selectedIndex].text)
return;
}
action_list.options.add(opt);
opt.text = actions.options[actions.selectedIndex].text;
opt.value = actions.options[actions.selectedIndex].value;
}
function removeActions()
{
var action_list = document.getElementById("actions_list");
for(i=action_list.options.length-1;i>=0;i--)
{
if (action_list.options[i].selected)
action_list.remove(i);
}
}
Maintenant, la $layout_actions[]
suivante est de retour VIDES quand j'ajouter des valeurs de 1 zone de sélection dans ce 1 via JS ci-dessus:
echo '<select id="actions_list" name="layout_actions[]" multiple style="height: 128px; width: 300px;', (isset($context['layout_error']['no_actions']) ? ' border: 1px solid red;' : ''), '">';
foreach($context['current_actions'] as $cur_action)
echo '
<option value="', $cur_action, '">', $cur_action, '</option>';
echo '
</select>
En bref, my $_POST['layout_actions'] = ''
(chaîne vide). Qu'est-ce qui se passe ici??? Cela devrait fonctionner, ne devrait-il pas être?
S'il vous plaît aidez-moi ... argg. Je sais que les éléments sont ajoutés, car je peux les voir aller d'une case de sélection à la boîte de sélection multiple quand je clique sur le bouton Ajouter, mais quand je publie le formulaire, layout_actions retourne vide.
Les éléments de la boîte de sélection multiple sont-ils marqués comme étant sélectionnés? – climbage
Opps, non, y a-t-il un moyen de les obtenir sans les sélectionner? Je vois ce que vous voulez dire, semble quand je les sélectionne il l'a là-dedans. Mais j'ai besoin de les attraper tous là, qu'ils aient été sélectionnés ou non. Comment faire ça? – SoLoGHoST
Mettez des copies d'entre eux dans une entrée cachée. – bobince