我有一个像这样的文件输入字段:
<input type="file" validate="" data-val-msg="" id="file-img" name="file-img">
没有缠绕它的表格。
在javascript中,我正在捕捉onchange
以围绕它包装表单并将其发布到隐藏的iframe以实现类似ajax的行为:
element.bind('change',function(e){
var form = $('<form target="upload_frame" method="post" action="'+attrs['uploadAction']+'">')
.attr("encoding", "multipart/form-data")
.attr("enctype", "multipart/form-data");
element.wrap(form);
form.on('submit',function(e){
var iframe = $('<iframe>', {
id: 'upload_frame',
name: 'upload_frame'
}).on('load',function(){
// do stuff.
}).appendTo(document.body);
});
form.trigger('submit');
});
ajax调用本身正在工作,但是当我查看chrome的调试器&gt;网络选项卡,我看到该文件未发送。我只看到:
Request payload: ------WebKitFormBoundary5MjUXZBbAeFAEprp--
我应该看到的是这样的:
Request payload: ------WebKitFormBoundary5MjUXZBbAeFAEprp--
Content-Disposition: form-data; name="file-img"; filename="afile.txt"
Content-Type: text/plain
有谁看到出了什么问题? 是jquery / javascript限制我动态创建表单吗?