Обработка динамической формы
У меня есть динамическая форма JS, где я могу добавлять или удалять поля:
Field 1
Field 2
Field 3
Field 4
Теперь, если я удалю поле 2 и добавлю новое поле:
Field 1
Field 3
Field 4
Field 5
Я отправляю это через Ajax POST внутри элемента формы. Моя проблема - обработка PHP на стороне сервера. Как я могу узнать, сколько у меня полей внутри массива $_POST и каковы их идентификаторы? Я генерирую уникальный идентификатор с использованием "field" + counterIndex, но, следуя примеру, как я могу понять, что у меня всего 4 поля и что число 2 отсутствует? Кстати, внутри формы у меня тоже есть статические поля.
1 ответ
Это можно сделать через PHP как $_POST
сам по себе является массивом, поэтому он может быть зациклен.
Скажем, у вас есть поля:
<input name="dyn[id1]"/>
<input name="dyn[id2]"/>
В бэкэнд-файле PHP
Перебрать $_POST
следующим образом:
<?php
if (isset($_POST['SUBMIT_BTN'])) {
if (! empty($_POST['dyn'])) {
foreach ($_POST['dyn'] as $dyn_id => $dyn_val) {
// "$dyn_id" is your ID you needed.
}
}
}
?>