Поле динамического множественного ввода, не может отправить данные POST

У меня проблема с данными POST из массива в динамически генерируемых полях ввода.
Я использую JQuery для генерации и хотел бы отправить с AJAX, я знаю, как это сделать, вероятно.

Каждый раз, когда я отправляю данные, у меня было только одно значение в массиве. Не могли бы вы помочь мне с этим?
Большое спасибо.

<div class = "col-md-4">
<div class="form-group multiple-form-group input-group">
<select class = "form-control" name = "cargos[]" required>
<option value = "#" selected disabled>Wybierz ładunek</option>
<?php
$sql = mysqli_query($conn, "SQL Code");
while($row = mysqli_fetch_assoc($sql)){ ?>
<option value = "<?php echo ?>"><?php echo ?></option>
<?php } ?>
</select>
<input type="number" name="values[]" class="form-control">
<span class="input-group-btn">
<button type="button" class="btn btn-success btn-add">+</button>
</span>
</div>
</div>

Код из jQuery для создания нескольких полей

(function ($) {
$(function () {

var addFormGroup = function (event) {
event.preventDefault();

var $formGroup = $(this).closest('.form-group');
var $multipleFormGroup = $formGroup.closest('.multiple-form-group');
var $formGroupClone = $formGroup.clone();

$(this)
.toggleClass('btn-success btn-add btn-danger btn-remove')
.html('–');

$formGroupClone.find('input').val('');
$formGroupClone.find('.concept').text('Phone');
$formGroupClone.insertAfter($formGroup);

var $lastFormGroupLast = $multipleFormGroup.find('.form-group:last');
if ($multipleFormGroup.data('max') <= countFormGroup($multipleFormGroup)) {
$lastFormGroupLast.find('.btn-add').attr('disabled', true);
}
};

var removeFormGroup = function (event) {
event.preventDefault();

var $formGroup = $(this).closest('.form-group');
var $multipleFormGroup = $formGroup.closest('.multiple-form-group');

var $lastFormGroupLast = $multipleFormGroup.find('.form-group:last');
if ($multipleFormGroup.data('max') >= countFormGroup($multipleFormGroup)) {
$lastFormGroupLast.find('.btn-add').attr('disabled', false);
}

$formGroup.remove();
};

var selectFormGroup = function (event) {
event.preventDefault();

var $selectGroup = $(this).closest('.input-group-select');
var param = $(this).attr("href").replace("#","");
var concept = $(this).text();

$selectGroup.find('.concept').text(concept);
$selectGroup.find('.input-group-select-val').val(param);

}

var countFormGroup = function ($form) {
return $form.find('.form-group').length;
};

$(document).on('click', '.btn-add', addFormGroup);
$(document).on('click', '.btn-remove', removeFormGroup);
$(document).on('click', '.dropdown-menu a', selectFormGroup);

}); })(jQuery);

Для импорта данных в базу данных я использую:

$cargo = $_POST['cargo'];
$tonnages = $_POST['tonnages'];
for($x = 0; $x < count($cargos); $x++) {
mysqli_query($conn, "INSERT INTO cargos_specialOrder (specialOrder_ID, cargo_ID, tonnages) VALUES ('$index', '$cargos[$x]', '$tonnages[$x]')");
}


$("form").submit(function(e) {
e.preventDefault();
var formData = new FormData($("form")[0]);

$.ajax({
type: 'POST',
url: 'php/newSpecialOrder.php',
data: formData,
success: function(response) {
if(response == 'done') {
$.confirm({
title: 'Gotowe',
content: 'Zgłoszenie zostało wysłane',
type: 'green',
typeAnimated: true,
buttons: {
close: function(){
location.href = "index.php"}
}
});
}
},
cache: false,
contentType: false,
processData: false
});
});

0

Решение

у вас есть проблема в этом разделе кода:

<?php
$sql = mysqli_query($conn, "SQL Code");
while($row = mysqli_fetch_assoc($sql)){ ?>
<option value = "<?php echo ?>"><?php echo ?></option>
<?php } ?>

echo должен иметь параметр, который будет напечатан на экране, поэтому исправьте эту часть, и вы сможете отправить.

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector