Javascript 通过Ajax获得的页面无法使用输入类型=";文件";标签?
我通过Ajax获得表单页面。 以下是代码的一种形式:Javascript 通过Ajax获得的页面无法使用输入类型=";文件";标签?,javascript,jquery,ajax,forms,Javascript,Jquery,Ajax,Forms,我通过Ajax获得表单页面。 以下是代码的一种形式: enter code here <form method="post" enctype="multipart/form-data" class="form-horizontal"> <div class="form-group" style="margin-left:0px;"> <label for="file">注:选择头像文件尽量小于2M</label>
enter code here
<form method="post" enctype="multipart/form-data" class="form-horizontal">
<div class="form-group" style="margin-left:0px;">
<label for="file">注:选择头像文件尽量小于2M</label>
<input id="headPortraitFile" type="file" name="portrait">
</div>
<button id="headPortraitSubmit" type="button" class="btn-sm btn-primary">上传头像</button>
</form>
2.然后我通过以下方式发布表格:
$(Document).on("click", '#headPortraitSubmit', function() {
var formData = new FormData();
formData.append("portrait", $('#headPortraitFile').get(0).files[0])
$.ajax({
url : "/headPortraitSubmit",
type : 'POST',
data : formData,
processData : false,
contentType : false,
beforeSend:function(){
console.log("正在进行,请稍候");
},
success : function(data) {
if (data = "success") {
$(".bodyPart").children().remove();
$(".bodyPart").load('/coding');
}
},
});
})
如果在单击
元素时为
元素调用更改事件的预期结果,则的属性值应与
的id
匹配。将
的属性的类型中的按钮“
替换为“提交”
文档
是一个函数,而不是html
文档
。在传递给jQuery()
:$()
的参数处,用文档
替换文档
如果成功中的条件
应使用=
或==
将数据的值
与成功
进行比较,而不是将成功
分配给数据
标识符
$(document).on(/* event, selector, eventHandler */)
$(文档)。在(“单击”上,“#提交”,函数(){
var formData=new formData();
formData.append(“肖像”,$(“#头像文件”).get(0.files[0]);
log(formData.get(“肖像”);
/*
$.ajax({
url:“/headgraphicsubmit”,
键入:“POST”,
数据:formData,
processData:false,
contentType:false,
beforeSend:function(){
控制台日志(“正在进行,请稍候");
},
成功:函数(数据){
如果(数据=“成功”){
$(“.bodyPart”).children().remove();
$(“.bodyPart”).load(“/编码”);
}
},
});
*/
});
文件查询选择器(“表格”)
.onsubmit=函数(事件){
event.preventDefault();
}
document.querySelector(“输入[id=headgraphicfile]”)
.onchange=函数(事件){
console.log(此.file[0])
}
input[type=file]{
显示:无;
}
[for=头文件]:在{
内容:“头像文件标签”;
}
#标题:提交之前{
内容:“Sumbit form.form horizontal”;
}
注:选择头像文件尽量小于2米
上传头像
的属性值应与的id
匹配,如果在单击
元素时调用更改事件的预期结果是的属性。将的按钮替换为的类型属性
Document
是一个函数,而不是html
Document
。在传递给jQuery()
的参数处用Document
替换Document
如果成功中的条件
应使用=
或==
将数据的值
与成功
进行比较,而不是将成功
分配给数据
标识符
$(document).on(/* event, selector, eventHandler */)
$(文档)。在(“单击”上,“#提交”,函数(){
var formData=new formData();
formData.append(“肖像”,$(“#头像文件”).get(0.files[0]);
log(formData.get(“肖像”);
/*
$.ajax({
url:“/headgraphicsubmit”,
键入:“POST”,
数据:formData,
processData:false,
contentType:false,
beforeSend:function(){
控制台日志(“正在进行,请稍候");
},
成功:函数(数据){
如果(数据=“成功”){
$(“.bodyPart”).children().remove();
$(“.bodyPart”).load(“/编码”);
}
},
});
*/
});
文件查询选择器(“表格”)
.onsubmit=函数(事件){
event.preventDefault();
}
document.querySelector(“输入[id=headgraphicfile]”)
.onchange=函数(事件){
console.log(此.file[0])
}
input[type=file]{
显示:无;
}
[for=头文件]:在{
内容:“头像文件标签”;
}
#标题:提交之前{
内容:“Sumbit form.form horizontal”;
}
注:选择头像文件尽量小于2米
上传头像
您的ajax代码?您可以使用XHR2通过ajax传输文件,但旧的Borwser不支持它(主要是IE<10,令人惊讶)。但是,您可以使用IFRAME。首先看一下@Emilio Venegas谢谢!在问这个问题之前,我已经参考了答案。我认为它们是不同的~问题是我不能在表单页面输入文件。但我认为Ajax代码不是原因。您的Ajax代码?可能重复的代码可以通过Ajax w传输文件使用XHR2,但老Borwser不支持它(主要是IE<10,令人惊讶)。但是,您可以使用IFRAME。首先看一下@Emilio Venegas谢谢!在问这个问题之前,我已经参考了答案。我认为它们是不同的~问题是我无法在表单页面输入文件。但我认为Ajax代码不是原因。