var LoginView = View.extend({ el: "#login", events: { "click .close": "hide", "click .login_ask": "login", "click .signup_ask": "signup", "submit form": "submit", }, mode: null, initialize: function(){ this.$form = this.$("form") this.$email = this.$("[name=email]") this.$password = this.$("[name=password]") }, show: function(){ this.$form.hide() this.$email.val("") this.$password.val("") document.body.classList.add("login") }, hide: function(){ document.body.classList.remove("login") }, login: function(){ this.mode = "login" this.$form.show() }, signup: function(){ this.mode = "signup" this.$form.show() }, submit: function(e){ e.preventDefault() if (this.mode == "login") { // login api } else { // signup api } }, success: function(){ // change login in ui to logout or whatever }, })