Javascript 使用图像提交Jquery表单
请参阅问题: 我正在尝试使用jQueryAjax提交表单,并尝试在PHP文件中检索并保存。对于特定表单,有两个文件输入Javascript 使用图像提交Jquery表单,javascript,jquery,ajax,blueimp,fancyupload,Javascript,Jquery,Ajax,Blueimp,Fancyupload,请参阅问题: 我正在尝试使用jQueryAjax提交表单,并尝试在PHP文件中检索并保存。对于特定表单,有两个文件输入 形象 注 当我使用var_dump($_文件)进行调试时,我只能看到Note的数组,而不能看到Image。对于图像上传,我使用了一个名为FancyUpload的插件,这可能是导致问题的原因。以下是表格 <form id="form" action="add.php" method="post" autocompl
<form id="form" action="add.php" method="post" autocomplete="off" enctype="multipart/form-data">
<div>
<input aria-label="cxname" id="cxname" name="cxname" class="form-control" placeholder="Name" type="text">
</div>
<div>
<select name="sales" id="sales" class="SlectBox form-control">
<option value='0'>Sales</option>
<?php echo sales(); ?>
</select>
</div>
<div>
<input class="custom-file-input" placeholder="choose note" name="note" id="note" type="file">
<label class="custom-file-label">Choose Note</label>
</div>
<div>
<input class="custom-file-input" placeholder="Choose Image" name="image" id="image" type="file" multiple>
</div>
<div>
<button id="submit" class="btn btn-primary btn-size">Add</button>
</div>
</form>
如果我没有图像上传插件,它可以正常工作。请给出建议。您是否为图像定义了正确的输入名称?在isset之前尝试var_转储吗?是的,我正确地检查了它,甚至在isset之前尝试了var_转储。结果是一样的。数组(1){[“deliveryNote”]=>array(5){[“name”]=>string(7)”doc.pdf“[“type”]=>string(15)”application/pdf“[“tmp_name”]=>string(24)”C:\xampp\tmp\phpAFA8.tmp”[“error”]=>int(0)[“size”]=>int(174625)}{“status”:1,“message”:“表单数据提交成功!”}图像丢失!两个文件之间的区别是,图像文件是使用fancyuploader插件的,注释是通常的HTML文件上传程序。这就是我一定错过了什么的地方。
<!-- JQuery min js -->
<script src="assets/plugins/jquery/jquery.min.js"></script>
<script src="assets/plugins/jquery-ui/ui/widget.js"></script>
<script src="assets/plugins/fancyuploder/jquery.ui.widget.js"></script>
<script src="assets/plugins/fancyuploder/jquery.fileupload.js"></script>
<script src="assets/plugins/fancyuploder/jquery.iframe-transport.js"></script>
<script src="assets/plugins/fancyuploder/jquery.fancy-fileupload.js"></script>
<script>
$(document).ready(function(e){
var image = $('#image').FancyFileUpload({
maxfilesize : 1000000,
params : {
action : 'form'
},
autoUpload: false
});
$("#form").on('submit', function(e){
e.preventDefault();
var fd = new FormData();
fd.append('pimage', $(image)[0].files[0]);
fd.append('deliveryNote', $("#note")[0].files[0]);
fd.append('cxname', $('input[name=cxname]').val());
fd.append('sales', $('select[name=sales]').val());
$.ajax({
type: 'POST',
url: 'add.php',
data: fd,
dataType: 'json',
processData:false,
contentType: false,
cache: false,
async: false,
success: function(response){
$('.statusMsg').html('');
if(response.status == 1){
$('#form')[0].reset();
$('.statusMsg').html('<p class="alert alert-success">'+response.message+'</p>');
alert('received');
}else{
$('.statusMsg').html(alert(response.message));
}
$('#form').css("opacity","");
$(".submit").removeAttr("disabled");
}
});
});
});
upload_dir = 'uploads/';
pdf_dir = 'doc/';
if (isset($_POST['cxname']) || isset($_POST['deliveryNote']) || isset($_POST['pimage']) || isset($_POST['sales'])) //even tried with ($_FILES['pimage'])
{
$cxname=$_POST['cxname'];
$sales=$_POST['sales'];
var_dump($_FILES);
//MOVE IMAGE -> Comes Empty
if(!empty($_FILES['pimage']['tmp_name']))
{
$temp = $_FILES['pimage']['tmp_name'];
$name = $_FILES['pimage']['name'];
$result = move_uploaded_file($temp,$upload_dir.$name);
$response['status'] = 1;
$response['message'] = 'IMAGE HAS BEEN SAVED';
}
else{
$name = '';
$response['status'] = 0;
$response['message'] = 'IMAGE CAME EMPTY!';
}
//SAVE NOTE
$_pdfDN = $_FILES['deliveryNote']['name'];
$Tempfile = $_FILES['deliveryNote']['tmp_name'];
$_pdfResult = move_uploaded_file($Tempfile,$pdf_dir.$_pdfDN);
}