Мне удалось скопировать ваш код и создать форму, которая была отправлена без изменения.Однако на принимающей стороне после отправки формы я получил структуру POST
, подобную этой:
<?php
var_dump($_POST);
?>
array(1) {
["class"]=> array(1) {
[2]=> array(3) {
["name"]=> string(5) "test1"
["grade_level"]=> string(5) "test2"
["subject"]=> string(5) "test3"
}
}
}
Так что это похоже на код, который выразмещенные выше работы.Убедитесь, что вы проверяете правильный уровень массива в POST
в вашем скрипте обработчика.
Edit
Похоже, PHP не понравилсяиспользование индексов массивов в качестве имен полей.Я уверен, что вы можете указать имя поля, например class[]
, и PHP будет захватывать все входящие поля с именем поля class[]
в виде массива, но я не уверен, что вы можете указать имя поля, например class[1][name]
.Я изменил имена полей в вашем JS, чтобы они выглядели примерно так:
<input type=\"text\" name=\"class-" + (counter + 1) + "-name\"
id=\"class[" + (counter + 1) + "][name]\" class=\"text-fld\" />
И после отправки оно было вставлено в POST просто отлично.Попробуйте и посмотрите, работает ли он.