$ _POST Возвращает пустое поле для множественного выбора - PullRequest
0 голосов
/ 14 апреля 2010

Хорошо, я заполняю свой блок множественного выбора опциями из другого поля выбора с помощью JavaScript следующим образом:

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);
    }
}

Теперь следующее $layout_actions[] возвращает ПУСТО, когда я добавляю значения из 1 поля выбора в этот 1 с помощью JS выше:

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>

Короче говоря, my $_POST['layout_actions'] = '' (пустая строка). Что здесь происходит??? Это должно работать, не так ли?

Пожалуйста, помогите мне ... Аргг. Я знаю, что элементы добавляются, так как я вижу, как они переходят от одного поля выбора к множественному полю выбора, когда я нажимаю кнопку добавления, но когда я публикую форму, layout_actions возвращает пустое.

1 Ответ

0 голосов
/ 02 сентября 2013

Я попробовал ваш код в простом HTML, и он отображает массив layout_actions [] в запросе

Что я видел, что Вы используете переменную $ context в одинарных кавычках ....

так что я думаю, что это резон, почему он не принимает свойство Multiple для выбора Box

 echo '<select id="actions_list" name="layout_actions[]" multiple style="height: 128px; width: 300px;', (isset($context['layout_error']['no_actions']) ? ' border: 1px solid red;' : ''), '">';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...