Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在jQuery中通过Ajax上传两个不同的输入文件?_Jquery_Laravel - Fatal编程技术网

如何在jQuery中通过Ajax上传两个不同的输入文件?

如何在jQuery中通过Ajax上传两个不同的输入文件?,jquery,laravel,Jquery,Laravel,我一直在做一个表单,它包含两个输入文件,但它们不是多种类型的。但现在我希望它们有多种类型 同样对于HTML部分,我现在不使用表单,以前从未使用过,但它工作正常。我所做的是: var样本=”; var fileupload=document.getElementById(“fileup”); $('.upload btn')。在('click',function()上{ var sb_field=$(this.parent().find('input[name=“sample[]”)'); sb_

我一直在做一个表单,它包含两个输入文件,但它们不是多种类型的。但现在我希望它们有多种类型

同样对于HTML部分,我现在不使用表单,以前从未使用过,但它工作正常。我所做的是:

var样本=”;
var fileupload=document.getElementById(“fileup”);
$('.upload btn')。在('click',function()上{
var sb_field=$(this.parent().find('input[name=“sample[]”)');
sb_字段。单击();
});
fileupload.onchange=函数(){
var total_files=fileupload.files.length
对于(i=0;iX${imageName}`);
}
}
$(文档)。在('单击','上。删除样本',函数(){
$('.sample').html('');
样本='';
});
var resume='';
var resumeUpload=document.getElementById(“fileup2”);
$('.upload-btn2')。在('click',function()上{
var rm_field=$(this.parent().find('input[name=“resume[]”)');
rm_字段。单击();
});
resumeUpload.onchange=函数(){
var total_files=resumeUpload.files.length
对于(i=0;iX${imageName}`);
}
}
$(文档)。在('单击','上。删除恢复',函数(){
$('.resume').html('');
简历=“”;
});
$('.applytacher')。在('click',function()上{
$('.guru_alert').html('');
var$this=$(this);
var current_fs=$this.parent();
//检查字段
var ip_chk=当前的查找('.manual');
var-allFilled=true;
如果(ip_chk.length>0){
$(ip_chk).parent().find('span.rementer').remove();
$(ip_chk).每个(函数(){
if($(this).val().length==0){
allFilled=false;
$(this.parent().append('请签出字段');
}
});
}
if(allFilled==true){
var$name=$('input[name=“user_name”]”)。val();
var$email=$('input[name=“user_email”]”)。val();
var$pass=$('input[name=“user_pass”]')。val();
var$firstName=$('input[name=“firstName”]')。val();
var$lastName=$('input[name=“lastName”]”)。val();
var$contact=$('input[name=“contact”]”)。val();
var$skype=$('input[name=“skype”]”)。val();
var$degree=$('input[name=“degree”]”)。val();
var$field=$('input[name=“field”]”)。val();
var$about=$('textarea[name=“about”]”)。val();
var$image=sample
var$resume=resume
var form=new FormData();
form.append('name',$name);
表格。附加(“电子邮件”、$email);
表单.append(“密码”、$pass);
表单。追加(“firstName”,$firstName);
表单.append(“lastName”,$lastName);
表格.附加(“联系人”、$contact);
表单。附加(“skype”、$skype);
形式。附加(“度”,美元度);
表单。追加(“字段”,$field);
form.append(“about”、$about);
表单.append(“示例”、$image);
表格。附加(“简历”、$resume);
append(''u-token','{csrf'u-token()}}');
$.ajax({
类型:“POST”,
url:{{url('other/teacher apply')}},
数据:表格,
cache:false,
contentType:false,
processData:false,
成功:功能(数据){
如果(data.status==1){
$('.applytacher').addClass('next');
$('.applytacher')。单击();
}else if(data.status==2){
var$html='';
$(data.errors)。每个(函数(键、值){
对于(var sd值){
$html+=''值[sd][0]+'';
}
});
$(“.guru\u alert”).append($html);
}else if(data.status==4){
var$html='';
$(data.errors)。每个(函数(键、值){
对于(var sd值){
$html+=''值[sd][0]+'';
}
});
$(“.guru\u alert”).append($html);
}
},
错误:函数(数据){
控制台日志(数据);
}
});
}
});

注册为大师
名字
姓
联系电话
skype id
学位类型
领域
关于你
上传工作样本
上传简历
但是,现在当我点击提交按钮时,我没有得到两个图像值。我得到的是total_files 2,但即使我上传了多个文件,sample也只会给我1个文件,之后当我在控制台中打印$image的值时,它会给sample一个未定义的文件。对于单个文件,它工作得很好


提前感谢。

将控件包装在
表单
元素中,然后使用
FormData()
的构造函数,该构造函数接受
表单
元素,例如
var FormData=new FormData($('#myForm')。get(0))。你所有的JS代码最多会减少到10行左右。所以,你是说我应该添加输入,然后使用var formData,对吗?