Forms backbonejs中的多部分表单另存为属性
任何主体都可以举例说明如何使用主干js模型保存多部分表单吗 如何将表单数据与文件数据组合并保存到模型 我正在设置模型属性以及如何在属性中包含文件数据。我将其中一个站点的代码改编为Forc主干,以将属性保存为文件。我无法把它和我的身体联系起来Forms backbonejs中的多部分表单另存为属性,forms,backbone.js,Forms,Backbone.js,任何主体都可以举例说明如何使用主干js模型保存多部分表单吗 如何将表单数据与文件数据组合并保存到模型 我正在设置模型属性以及如何在属性中包含文件数据。我将其中一个站点的代码改编为Forc主干,以将属性保存为文件。我无法把它和我的身体联系起来 <form enctype="multipart/form-data"> <input type="file" name="ImageData"> <input type="text" name="UserName"&g
<form enctype="multipart/form-data">
<input type="file" name="ImageData">
<input type="text" name="UserName">
</form>
看法
this.model.data = form_data;
var profiledata;
if (window.FormData) {
profiledata = new FormData();
console.log(profiledata);
}
if (profiledata) {
jQuery.each($('#ImageData')[0].files, function(i, file) {
//reader.readAsDataURL(file);
profiledata.append("ImageData[]", file);
});
}
this.model.ImageData = profiledata;
//and save the data
this.model.save
我不是在模型中处理
FileReader
逻辑,而是在视图中管理它
看看这个:
<form enctype="multipart/form-data">
<input type="file" name="ImageData">
<input type="text" name="UserName">
<button>Submit</button>
</form>
这一行的
fileEvent
初始化在哪里avatar\u数据:fileEvent.target.result
?问得好!它不是:)我的意思是让e和fileEvent指向同一个东西。我将更新以确保正确。
<form enctype="multipart/form-data">
<input type="file" name="ImageData">
<input type="text" name="UserName">
<button>Submit</button>
</form>
var FormView = Backbone.View.extend({
events: {
"submit form" : "submit",
"change input[type=file]" : "encodeFile"
},
render: function () {
var content = this.template();
this.$el.html(content);
return this;
},
encodeFile: function (event) {
var file = event.currentTarget.files[0];
var reader = new FileReader();
reader.onload = function (fileEvent) {
this.model.set({
avatar_data: fileEvent.target.result // file name is part of the data
});
}.bind(this)
reader.onerror = function () {
console.log("error", arguments)
}
reader.readAsDataURL(file);
},
submit: function (event) {
event.preventDefault();
this.model.set({ UserName: $('input[name=UserName]').val() });
this.model.save();
}
});