Считывание значения из каскадного выпадающего списка

#javascript #php #dropdownbox

Вопрос:

Я успешно разработал каскадный выпадающий список с использованием javascript благодаря некоторому коду, который я нашел в Интернете. Html-код, который он генерирует, выглядит так, как ожидалось, когда я просматриваю код в своих инструментах веб-разработчика Firefox. Проблема у меня в том, что мой сервер php не может прочитать это из буфера $_POST. Ошибка, которую я получаю, — «Неопределенный индекс». Это почти так же, как если бы php не видел второй DDL, который динамически добавляется на мою html-страницу. Есть ли какой-то трюк, который я упускаю?

     <script type="text/javascript">
var created = 0;

    function displayAccordingly() {

        if (created == 1) {
            removeDrop();
        }

        //Call mainMenu the main dropdown menu
        var mainMenu = document.getElementById('mainMenu');

        //Create the new dropdown menu
        var whereToPut = document.getElementById('myDiv');
        var newDropdown = document.createElement('select');
        newDropdown.setAttribute('id',"newDropdownMenu");
        newDropdown.setAttribute('name',"AccountNumber");
        whereToPut.appendChild(newDropdown);

        if if (mainMenu.value == "Office Expense") { //The person chose Office Expense
            var option000000000=document.createElement("option");
            option000000000.text="---";
            option000000000.value="000000000";
            newDropdown.add(option000000000,newDropdown.options[null]);

            var option160006235=document.createElement("option");
            option160006235.text="COPY PAPER AND SUPPLIES";
            option160006235.value="160006235";
            newDropdown.add(option1160006235,newDropdown.options[null]);

            var option160006237=document.createElement("option");
            option160006237.text="COPIER RENTAL AGREEMENT";
            option160006237.value="160006237";
            newDropdown.add(option1160006237,newDropdown.options[null]);

            }  else if (mainMenu.value == "Custodial") { //The person chose Custodial
            var option000000000=document.createElement("option");
            option000000000.text="---";
            newDropdown.add(option000000000,newDropdown.options[null]);

            var option164006410=document.createElement("option");
            option164006410.value="164006410";
            option164006410.text="CONTRACTED SERVICES-FACILITIES";
            newDropdown.add(option164006410,newDropdown.options[null]);

            var option164006415=document.createElement("option");
            option164006415.value="164006415";
            option164006415.text="MAINTENANCE-GROUNDS";
            newDropdown.add(option164006415,newDropdown.options[null]);

            var option164006420=document.createElement("option");
            option164006420.value="164006420";
            option164006420.text="MATERIALS AND SUPPLIES";
            newDropdown.add(option164006420,newDropdown.options[null]);
            }

        created = 1

    }

    function removeDrop() {
        var d = document.getElementById('myDiv');

        var oldmenu = document.getElementById('newDropdownMenu');

        d.removeChild(oldmenu);
    }
</script>
 

Что показывают инструменты разработки в виде моего HTML-кода:

введите описание изображения здесь

Мой PHP-код (упрощенный)

 $AccountNumber = $_POST['AcountNumber'];
 

Я могу прочитать категорию из буфера $_POST, но не номер учетной записи.

Таким образом, я думаю, что Javascript работает нормально, я не понимаю, почему значение AccountNumber не помещается в буфер $_POST.

Результаты print_r($_POST) выглядят следующим образом (сразу после [Категория] Я ожидал бы [Номер учетной записи]=>): Массив ( [действие] =>> POStepTwo [logged_in_user] =>>> 1625605397 [кто] =>>>> запрашивающий [Идентификатор пользователя] = > > > > > 1625605397 [Поставщик] = > > > > > > 2080MED [Отдел] = > > > > > > > Завод [Категория] =>>>>>>>> Офисные расходы [Инструкции по доставке] =>>>>>>>>> 1 [Примечание к запросу] =>>>>>>>>>> тест )

Спасибо за всю помощь.

Комментарии:

1. Не могли бы вы добавить вывод print_r($_POST); к вашему вопросу, пожалуйста?

2. Массив ( [действие] => POStepTwo [logged_in_user] =>> 1625605397 [воз] = > > запрашивающий [Идентификатор пользователя] = > > > 1625605397 [Поставщик] = > > > > > 2080MED [Отдел] = > > > > > > Завод [Категория] = > > > > > > > Офисные расходы [Инструкции по доставке] =>>>>>>>> 1 [Примечание к запросу] =>>>>>>>>> тест ) Сразу после [Категория] Я бы ожидал [номер учетной записи].