我不确定为什么会这样。这对我来说看起来很不寻常。通常,当我希望在按钮单击上执行操作时,我会使用它
events:{
'click #button_name':'somefunction'
},
somefunction: function(){
alert("Blah");
}
但不幸的是,这不适合我。??
这是我的 js 文件:
var AddDriverView = Backbone.View.extend({
initialize : function() {
this.render();
},
events: {
'click #addDriveBtn' :'loadDriver'
},
render : function() {
console.log("render");
var template = _.template(addDriverTemplate, {});
return template;
// this.$el.html( template ,{});
},
loadDriver : function() {
alert("Add Driver Data");
}
});
我的表单有很多输入框,之后我的最终提交按钮是这样的
<input type="button" id="addDriveBtn" class="btn btn-default btn-large span12" `value="Add Driver" />`
单击此事件时,我希望弹出警报。知道我在这里犯了什么错误吗?
注意:我的 html 不是模板。它是一个小视图,将被渲染为主视图,它的名称类似于“views.addDriver.html”。
在 js 文件中,视图被渲染并且 console.log 工作。
编辑 我将 el: 更改为 div 而不是 FORM 并且效果很好。
更新的问题 我想将表单中的所有数据移动到一个集合中,任何帮助如何将表单中的数据放入一个集合对象中。
这是我尝试过的:
var formData = {};
$("#driverdata").children("input").each(function(i, el){
formData[el.id] = $(el).val();
});
console.log(JSON.stringify(formData));
这在我的 Firefox 和 Chrome 控制台中返回了一个“{}”......