@AlexAll

Как в Multiple input форме создать единный массив?

Есть input форма которая при нажатия на плюсик клонирует себя ну и возле каждого клона есть кнопка минус которая может удалять клон
Вот js скрипт
<script>
	        var x = 0;
			function addInput() {
					
					var input1 = document.createElement("INPUT");
					input1.setAttribute("type", "text");
					input1.setAttribute("placeholder", "Город");
					input1.setAttribute("style", "margin: 5px;");
					input1.setAttribute("name", "city" + x);

					var input2 = document.createElement("INPUT");
					input2.setAttribute("type", "text");
					input2.setAttribute("placeholder", "Улица");
					input2.setAttribute("style", "margin: 5px;");
					input2.setAttribute("name", "street" + x);

					var button = document.createElement("BUTTON");
					button.setAttribute("type", "button");
					button.className = "btn btn-danger";
					button.addEventListener("click", removeInput, false);
					button.appendChild(document.createTextNode("-"));

					var div = document.createElement("DIV");
					div.appendChild(input1);
					div.appendChild(input2);
					div.appendChild(button);

					var container = document.querySelector("#input-container");
					container.appendChild(div);
					x++;
			}

			function removeInput(e) {
					e.preventDefault();
					e.stopPropagation();
					var div = this.parentNode;
					div.parentNode.removeChild(div);
			}
</script>


Получается такая форма

<div id="input-container">
<input type="text" style="margin: 5px;" placeholder="Город " name="city" value=""> 
<input type="text" placeholder="Улица" name="street" value="" style="margin: 5px;">
<button type="button" class="btn btn-info dropdown-toggle" onclick="addInput()">+</button>

<div>
<input type="text" placeholder="Город Назначения" style="margin: 5px;" name="tcity0">
<input type="text" placeholder="Улица" style="margin: 5px;" name="street0">
<button type="button" class="btn btn-danger">-</button>
</div>

<div>
<input type="text" placeholder="Город" style="margin: 5px;" name="city1">
<input type="text" placeholder="Улица" style="margin: 5px;" name="street1">
<button type="button" class="btn btn-danger">-</button>
</div>
<div>
<input type="text" placeholder="Город " style="margin: 5px;" name="city2">
<input type="text" placeholder="Улица" style="margin: 5px;" name="street2">
<button type="button" class="btn btn-danger">-</button>
</div>
//и так далее
</div>


В общем если я загоняю эти input в form и отправляю пост запросом, и вардамплю то получается следующая картина

array(9) { 
        ["page"]=> string(14) "add_main" 
        ["city"]=> string(12) "Москва" 
        ["street"]=> string(12) "Ленина" 
        ["city0"]=> string(12) "Москва" 
        ["street0"]=> string(12) "Ленина" 
        ["city1"]=> string(12) "Москва" 
        ["street1"]=> string(12) "Ленина" 
        ["city2"]=> string(12) "Москва" 
        ["street2"]=> string(12) "Ленина" 
        ["submit"]=> string(24) "Опубликовать" 
         }


А мне нужен вот такой массив Чтобы его можно было циклом разложить по полочкам

array(9) { 
   ["page"]=> string(14) "add_main" 
    ["page"]=> array(9) {   
                         array(9) { 
                                    ["city"]=> string(12) "Москва" 
                                    ["street"]=> string(12) "Ленина" 
                                }
                         array(9) { 
                                    ["city"]=> string(12) "Москва" 
                                    ["street"]=> string(12) "Ленина" 
                                }
                       array(9) { 
                                    ["city"]=> string(12) "Москва" 
                                    ["street"]=> string(12) "Ленина" 
                                }
                       array(9) { 
                                    ["city"]=> string(12) "Москва" 
                                    ["street"]=> string(12) "Ленина" 
                                }
                }
        ["submit"]=> string(24) "Опубликовать" 
         }


Как мне правильно сделать input чтобы выдавал такой массив?
  • Вопрос задан
  • 47 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы