【问题标题】:form data upload multiple files through ajax together with foreach表单数据通过ajax和foreach一起上传多个文件
【发布时间】:2018-10-27 10:42:18
【问题描述】:

我有一个包含多个字段的表单。此外,表单正在通过表单数据方法使用 ajax 提交到 php 文件。

以下是提交表单数据的 javascript 代码。我在每个输入文件中上传多个文件,并且需要在提交时使用文件数组发送 id...每次我上传文件并单击提交时我正在获取 foreach 循环的最后一次迭代 refer_id....请有人帮我解决我哪里出错了....

<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....我没有收到错误....数据正在提交,但是当我上传第一个迭代提交按钮并提交表单时,我得到了最后一个迭代refer_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.log(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;
});

【问题讨论】:

  • 你遇到了什么错误?
  • 我没有收到错误....数据正在提交,但是当我上传第一个迭代提交按钮并提交表单时,我得到了最后一个迭代的 refer_id。假设referral_id 的数组是 $referral_id = array(1, 2, 3, 4);每次我提交时,我都会得到 4 作为输出
  • 为什么不直接在FormData中附加referral_id,比如formData.append('referral_id', 'value')。
  • 我尝试了这种方法,但我得到了相同的价值
  • 谢谢@RopAli Munshi ...我得到了输出...请在下面找到....表单ID和referrer_id输入应该是动态的

标签: php jquery json ajax codeigniter


【解决方案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.log(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;
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-19
    • 2014-02-04
    • 1970-01-01
    • 2013-11-24
    • 2014-08-29
    • 2021-03-30
    相关资源
    最近更新 更多