for循环中的一个表单,在此表单中,用户使用输入类型文件添加一个excel文件,
for ($i = 0; $i < 4; $i++) {
<form id="TypeValidation" method="" enctype="multipart/form-data">
<input type="hidden" id="pii_categoryid" name="pii_categoryid" value="<?php echo $i;?>" />
<div>
<span class="btn btn-rose btn-round btn-file">
<span class="fileinput-new">Select File</span>
<span class="fileinput-exists">Change</span>
<input type="file" name="<?php echo $i;?>_attachment" id="<?php echo $i;?>_attachment" accept=".xlsx, .xls, .csv" />
</span>
<a href="#" class="btn btn-danger btn-round fileinput-exists" data-dismiss="fileinput"><i class="fa fa-times"></i> Remove</a>
<button type="submit" name="add_file" id="add_file" value="<?php echo $i;?>_file" class="btn btn-success btn-round fileinput-exists">Upload</button>
</div>
</form>
}
此表单是使用jquery提交的,这里是代码
$("#TypeValidation").on('submit',(function(e)
{
var pii_categoryid = $(this).find('input[name="pii_categoryid"]').val();
var fileUploadID = $(this).find('button[name="add_file"]').val();
e.preventDefault();
$.ajax({
url: "fn_dsr_wizard_submit.php?submitid="+fileUploadID,
type: "POST",
data: new FormData(this),
contentType: false,
cache: false,
processData:false,
dataType: "html",
success: function (result) {
alert(result);
//prompt("Copy to clipboard: Ctrl+C, Enter", result);
location.reload();
if(result=='1'){
location.replace("ds_dashboard.php");
}else {
location.replace("ds_dashboard.php");
}
}
});
}
));
当用户添加客户端excel文件时,该文件将被提交,但问题是,当用户添加捐助者文件或除客户端excel以外的其他文件时,其未提交。
答案 0 :(得分:-2)
尝试分配不同的ID,并为每个表单添加一个类名,例如:
<form id="TypeValidation<?php echo $i; ?>" class="my-form" method="" enctype="multipart/form-data">
在javascript中:
$(".my-form").on('submit',(function(e) { ...