Данные формы загружают несколько файлов через ajax вместе с foreach

У меня есть форма с несколькими полями. Кроме того, форма отправляется через метод данных формы с использованием ajax в файл php.

Ниже приведен код javascript, отправляющий данные формы. Я загружаю несколько файлов в каждый входной файл, и мне нужно отправить идентификатор при отправке с массивом файлов ... Каждый раз, когда я загружаю файл, и при нажатии на отправку я получаю ссылка_id последней итерации цикла foreach .... Пожалуйста, помогите мне, где я ошибся ....

<form method = "post" action = "" enctype = "multipart/form-data" id = "uploadforms" onsubmit = "return submitForm();">
<?php 
  foreach($result as $value)
 {?>
<div class = "form-group">
    <h2>Choose Files</h2>
    <h3><?php echo $value->test_name;?></h3>
    <input type = "file" name = "files[]" class = "form-control filein" id = "files" multiple />
    <input type = "text" name = "referral_id" class = "form-control" value = "<?php echo $value->ID;?>" />
</div>
<div class = "form-group">
    <input type = "submit" name = "fileSubmit" value = "UPLOAD" data-referralid = "<?php echo $value->ID;?>" id = "submitbtn"/>
</div>
<?php 

}
?>
</form>

Я хочу опубликовать referral_id, который передается во вводе отправки .... я не получаю ошибку .... данные отправляются, но когда я загружаю кнопку отправки первой итерации и отправляю форму, я получаю последнюю итерацию referral_id. Предположим, что массив для referral_id равен $ referral_id = array (1, 2, 3, 4); Каждый раз, когда я отправляю, я получаю 4 на выходе

$("form").submit(function(evt){   
evt.preventDefault();
var referral_id=$("#submitbtn").data('referralid');
alert(referral_id);
var formData = new FormData($('#uploadforms')[0]);
console.info(formData);
$.ajax({
url: '<?php echo base_url("Upload_Files1"); ?>',
type: 'POST',
data: {referral_id: referral_id, files: formData},
async: false,
cache: false,
contentType: false,
enctype: 'multipart/form-data',
processData: false,
success: function (response) {
alert(response);
}
});
return false;
});

какую ошибку вы получаете?

Ropali Munshi 27.10.2018 12:54

Я не получаю сообщение об ошибке .... данные отправляются, но когда я загружаю кнопку отправки первой итерации и отправляю форму, я получаю реферальный_id последней итерации. Предположим, что массив для referral_id равен $ referral_id = array (1, 2, 3, 4); Каждый раз, когда я отправляю, я получаю 4 на выходе

user5370838 27.10.2018 12:55

почему бы вам не добавить referral_id в FormData, например formData.append ('referral_id', 'value').

Ropali Munshi 27.10.2018 13:11

Я пробовал этот метод, но получал такое же значение

user5370838 27.10.2018 13:16

Спасибо, @RopAli Munshi ... я получил результат ... Пожалуйста, найдите ниже .... Идентификатор формы, а также ввод referral_id должны быть динамическими

user5370838 27.10.2018 13:22
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
5
548
1

Ответы 1

Я получил результат

<form method = "post" action = "" enctype = "multipart/form-data" id = "uploadforms" onsubmit = "return submitForm();">
<?php 
  foreach($result as $value)
 {?>
<div class = "form-group">
    <h2>Choose Files</h2>
    <h3><?php echo $value->test_name;?></h3>
    <input type = "file" name = "files[]" class = "form-control filein" id = "files" multiple />
    <input type = "text" name = "referral_id" class = "form-control" value = "<?php echo $value->ID;?>" />
</div>
<div class = "form-group">
    <input type = "submit" name = "fileSubmit" value = "UPLOAD" data-referralid = "<?php echo $value->ID;?>" id = "submitbtn"/>
</div>
<?php 

}
?>
</form>

Скрипт Ajax

$("form").submit(function(evt){   
evt.preventDefault();
var referral_id=$("#submitbtn").data('referralid');
alert(referral_id);
var formData = new FormData($('#uploadforms')[0]);
console.info(formData);
$.ajax({
url: '<?php echo base_url("Upload_Files1"); ?>',
type: 'POST',
data: {referral_id: referral_id, files: formData},
async: false,
cache: false,
contentType: false,
enctype: 'multipart/form-data',
processData: false,
success: function (response) {
alert(response);
}
});
return false;
});

Другие вопросы по теме