내가보기를 만들려면 다음 코드를 사용하고 있습니다 :제출 이벤트를 양식에 바인딩하도록 백본을 얻으려면 어떻게해야합니까?
LoginForm = Backbone.View.extend({
tagName :"form"
,id : "login-form"
,className :"navbar-form"
,initialize: function() {
this.model = new StackMob.User();
this.render();
}
,render: function() {
$(this.el).html(this.template());
return this;
}
,events : {
"change" : "change"
,"submit #login-form" : "login"
}
,login : function(event) {
event.preventDefault();
var self = this;
this.model.login(true, {
success: function(model) {
app.alertSuccess("User logged in");
self.render();
}
,error: function(model, response) {
app.alertError("Could not login user: " + response.error_description);
}
});
event.currentTarget.checkValidity();
return false;
}
// rest of code
그리고 템플릿 :
<input name="username" class="span2" type="email" placeholder="Email" required >
<input name="password" class="span2" type="password" placeholder="Password" required >
<button id="login-button" type="submit" class="btn">Sign in</button>
내가 버튼을 결합
는 로그인 함수가 호출됩니다합니다. 양식 제출 이벤트에서 바인딩하면 로그인 기능이 호출되지 않습니다. id & 양식 태그가 템플리트의 일부인 경우에도 양식을 가져올 수 있습니다. 이는 제가 여기서하고 싶은 것이 아닙니다.이 경우 양식 제출시 어떻게 바인딩합니까?
관련 문서는 [delegateEvents'] (http : // backbonejs.org/# View-delegateEvents) documentation : "selector를 생략하면 이벤트가 뷰의 루트 요소 인'(this.el)'에 바인드됩니다." –
불행히도 이것이 그가하는 일을 배제하지 않습니다. 음, 아직도 정보가 충분하다고 생각합니다. – Loamhoof
선택하지 않고 제출하십시오! –