Deployd APIを使用してフォームデータをサーバーに保存しようとしています。保存ボタンをクリックすると、サーバーで作成された新しい文書がデータを含んでいません。私はそれがどのように機能するのか理解していません。私は保存するためにモデルにデータを渡さなければならないと思いますか?それ、どうやったら出来るの?私はビューがすでにテンプレートとモデルにリンクしていると思った。 私はRequirejs、MarionetteJSとHandlebarsを使用しています。 ここにコードがあります。handlebarsjsとmarionettejsでフォームデータを保存
MODEL:
define(['underscore','backbone'], function(_, Backbone){
var Student= Backbone.Model.extend({
urlRoot: '/students',
defaults: {
nameStudent: '',
lastnameStudent: ''
},
initialize: function(){
console.log('studentModel: initiated');
},
});
return Student;
});
はVIEW:
define([
'jquery',
'underscore',
'backbone',
'marionette',
'handlebars',
'js/models/student',
'text!templates/forms/studentFormAdd.html'
], function($, _, Backbone, Marionette, Handlebars, studentModel, studentFormAddTemp){
var studentFormAdd = Backbone.Marionette.ItemView.extend({
model: studentModel,
template: Handlebars.compile(studentFormAddTemp),
events: {
'click #saveBtn': function(){
this.model.save();
console.log(this.model.toJSON());
console.log('saveBtn event: initiated');
}
},
initialize: function(){
console.log('studentFormAdd: initiated');
this.model = new studentModel();
this.model.on('change', this.render);
},
});
マイテンプレートには、次のsintaxがあります
<div>
<form>
Student Name<br>
<input type="text" name="nameStudent" value="{{nameStudent}}" placeholder="Student name"/>
<br>
Student lastname<br>
<input type="text" name="lastnameStudent" value="{{lastnameStudent}}" placeholder="Student lastname"/><br>
</form>
</div>
ありがとうございました!あなたは私を救いました! (意図しない言葉遣い) – jalx