Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/395.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
Javascript 通过Ajax获得的页面无法使用输入类型=";文件";标签?_Javascript_Jquery_Ajax_Forms - Fatal编程技术网

Javascript 通过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>

我通过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>
        <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代码不是原因。