Обработка динамической формы

У меня есть динамическая форма 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.
    }
  }
}
?>
Другие вопросы по тегам