2013-07-23 65 views
0

基本上我試圖創建一個對象來處理基本的ajax登錄表單。每次提交表單時,控制檯都應該記錄「表單」,但目前僅在表單加載時執行一次。 我在做什麼錯?jQuery onSubmit對象形式

下面的代碼

Login = { 

    init: function() { 
     var $self = this; 
     $('form').on('submit', $self.on_submit()); 

    }, 
    on_submit: function() { 
     console.log('form'); 
     return false; 
    }, 
    do_login: function() { 
     console.log('login'); 
    } 

} 

$(document).ready(function() { 

    Login.init(); 

}); 

而這裏的測試URL

http://jsfiddle.net/srr33/

感謝

回答

0

錯誤是在這裏:

$('form').on('submit', $self.on_submit()); 

做正確的做法:

$('form').on('submit', $self.on_submit); 

不是指定事件處理程序的你正在做的函數調用

0

DEMO

$('form').on('submit', $self.on_submit); 
0
.on('submit', $self.on_submit()); 

這是on_submit的返回值(即假) ,而不是一個功能。這樣做:

.on('submit', $self.on_submit); 

或者

.on('submit', function() { $self.on_submit(args); }); 

如果你需要傳遞參數。