Добрый день! Пытаюсь решить задачу клонирования и отправки всех клонов в БД. Есть скрипт, который клонирует содержание div id="FormForClone" и вставляет содержимое в div id="NewForm". Ниже прикрепляю скрипт и HTML форму. Код (Javascript): <script> function clone() { var NewForm = document.getElementById('NewForm'); var clonning = document.querySelector('#FormForClone').cloneNode(true); NewForm.appendChild(clonning); } </script> HTML: <div class="container"> <div id="FormForClone"> <form method = "post" action = "multi_add_onclick.php"> <div class='form-group'> <input type="text" name = "id" > </div> </div> <div id="NewForm"> </div> <div class='form-group'> <button class="btn btn-info" name = "Add_id">Add permission(s)</button> </div> </form> <button onclick="clone()" class="btn btn-info" name = "new_form" >New form</button> </div> Далее вставка в PHP по name = "id". В примере стоит id 1200, которому нужно присвоить несколько разных клонированных значений. PHP: <?php $insert_pala = "INSERT INTO p_ala (rentnik_id, p_ala_id) VALUES ('1200', '$_POST[id]')"; if($_POST[id] == NULL) { } else { $insert_new_pala = mysqli_query($connection, $insert_pala); } ?> Если клонировать форму, то вместе с ней клонируется и name = "id" и в БД передается только одно первое введенное значение. Пытался вместо id поставить переменную и увеличивать ее на единицу при каждом клонировании, чтобы каждый раз получать уникальное значение для POST. т.е. первое значение переменной =1 и при каждом нажатии на кнопку New form ловить isset $_POST(new_form) и увеличивать значение на 1. Но вот с button это не срабатывает, а если поменять на input type = "submit", то счетчик работает, но перестает работать клонирование. Буду рад любой помощи! Заранее спасибо. P.S. Вероятно есть и какие-то другие методы решения, но вот вчера гуглил целый день и как-то прямо ничего явного не нашел.
ниче не понятно... чего клонируете, какие формы .. какой вообще смысл... форму в форму вставляете? Вангую.... что вам нужно добавлять в ОДНУ! текущую форму, ДИНАМИЧЕСКИ - "на лету" дополнительные поля... видимо это HTML: <input type="text" name = "id" > Если так то надо делать все по другому ))) в частности хотите несколько значений передавать - это массив... для начала назовите тогда HTML: name="id[]" потом измените php код для добавления из массива значений
Боже...Это оказалось так просто! Убил два дня и да, не обратил вдобавок внимания, что клонирую каждый раз и саму форму. Большое спасибо!